=> Bootstrap dependency digest>=20010302: found digest-20190127 ===> Skipping vulnerability checks. WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found. WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'. ===> Installing for R-s2-1.0.6 => Generating pre-install file lists => Creating installation directories * installing *source* package 's2' ... ** package 's2' successfully unpacked and MD5 sums checked ** using staged installation Testing compiler using PKG_CFLAGS= Using PKG_LIBS=-lssl -lcrypto Using PKG_CFLAGS= -DIS_LITTLE_ENDIAN ** libs c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c cpp-compat.cpp -o cpp-compat.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-accessors.cpp -o s2-accessors.o In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from geography-operator.h:7, from s2-accessors.cpp:2: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-bounds.cpp -o s2-bounds.o In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-options.h:7, from s2-bounds.cpp:5: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-cell.cpp -o s2-cell.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from s2-cell.cpp:12: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from s2-cell.cpp:3: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2-cell.cpp:8: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-constructors-formatters.cpp -o s2-constructors-formatters.o In file included from ../inst/include/s2/s2latlng_rect.h:27:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/r1interval.h: In function 'std::ostream& operator<<(std::ostream&, const R1Interval&)': ../inst/include/s2/r1interval.h:216:70: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const R1Interval&)' follows definition but the attribute doesn't match [-Wattributes] inline std::ostream& operator<<(std::ostream& os, const R1Interval& x) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:27:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/r1interval.h:216:70: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const R1Interval&)' follows definition but the attribute doesn't match [-Wattributes] inline std::ostream& operator<<(std::ostream& os, const R1Interval& x) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h: At global scope: ../inst/include/s2/s1angle.h:136:46: warning: optimization attribute on 'bool operator==(S1Angle, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(S1Angle x, S1Angle y); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:144:37: warning: optimization attribute on 'S1Angle operator-(S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator-(S1Angle a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:39:17: note: previous definition of 'Rcomplex operator-(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator-( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:145:48: warning: optimization attribute on 'S1Angle operator+(S1Angle, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator+(S1Angle a, S1Angle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:32:17: note: previous definition of 'Rcomplex operator+(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator+( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:145:48: warning: optimization attribute on 'S1Angle operator+(S1Angle, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator+(S1Angle a, S1Angle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:32:17: note: previous definition of 'Rcomplex operator+(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator+( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:146:48: warning: optimization attribute on 'S1Angle operator-(S1Angle, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator-(S1Angle a, S1Angle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:39:17: note: previous definition of 'Rcomplex operator-(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator-( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:147:47: warning: optimization attribute on 'S1Angle operator*(double, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator*(double m, S1Angle a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:25:17: note: previous definition of 'Rcomplex operator*(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:147:47: warning: optimization attribute on 'S1Angle operator*(double, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator*(double m, S1Angle a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:25:17: note: previous definition of 'Rcomplex operator*(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:148:47: warning: optimization attribute on 'S1Angle operator*(S1Angle, double)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator*(S1Angle a, double m); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:25:17: note: previous definition of 'Rcomplex operator*(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:149:47: warning: optimization attribute on 'S1Angle operator/(S1Angle, double)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator/(S1Angle a, double m); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:46:17: note: previous definition of 'Rcomplex operator/(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:149:47: warning: optimization attribute on 'S1Angle operator/(S1Angle, double)' follows definition but the attribute doesn't match [-Wattributes] friend S1Angle operator/(S1Angle a, double m); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:46:17: note: previous definition of 'Rcomplex operator/(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:150:47: warning: optimization attribute on 'double operator/(S1Angle, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] friend double operator/(S1Angle a, S1Angle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:46:17: note: previous definition of 'Rcomplex operator/(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:28:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1angle.h:332:53: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, S1Angle)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, S1Angle a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:29:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1interval.h: In function 'std::ostream& operator<<(std::ostream&, const S1Interval&)': ../inst/include/s2/s1interval.h:262:70: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const S1Interval&)' follows definition but the attribute doesn't match [-Wattributes] inline std::ostream& operator<<(std::ostream& os, const S1Interval& x) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:30:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng.h: At global scope: ../inst/include/s2/s2latlng.h:114:65: warning: optimization attribute on 'S2LatLng operator+(const S2LatLng&, const S2LatLng&)' follows definition but the attribute doesn't match [-Wattributes] friend S2LatLng operator+(const S2LatLng& a, const S2LatLng& b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:32:17: note: previous definition of 'Rcomplex operator+(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator+( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:30:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng.h:115:65: warning: optimization attribute on 'S2LatLng operator-(const S2LatLng&, const S2LatLng&)' follows definition but the attribute doesn't match [-Wattributes] friend S2LatLng operator-(const S2LatLng& a, const S2LatLng& b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:39:17: note: previous definition of 'Rcomplex operator-(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator-( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:30:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng.h:116:56: warning: optimization attribute on 'S2LatLng operator*(double, const S2LatLng&)' follows definition but the attribute doesn't match [-Wattributes] friend S2LatLng operator*(double m, const S2LatLng& a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:25:17: note: previous definition of 'Rcomplex operator*(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:30:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng.h:117:56: warning: optimization attribute on 'S2LatLng operator*(const S2LatLng&, double)' follows definition but the attribute doesn't match [-Wattributes] friend S2LatLng operator*(const S2LatLng& a, double m); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:25:17: note: previous definition of 'Rcomplex operator*(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2latlng_rect.h:30:0, from point-geography.h:7, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng.h:232:62: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const S2LatLng&)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, const S2LatLng& ll); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from point-geography.h:7:0, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2latlng_rect.h:432:65: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const S2LatLngRect&)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, const S2LatLngRect& r); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2polyline.h:28:0, from geography.h:7, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2error.h: In function 'std::ostream& operator<<(std::ostream&, const S2Error&)': ../inst/include/s2/s2error.h:138:71: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const S2Error&)' follows definition but the attribute doesn't match [-Wattributes] inline std::ostream& operator<<(std::ostream& os, const S2Error& error) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2polyline.h:31:0, from geography.h:7, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2shape.h: At global scope: ../inst/include/s2/s2shape.h:65:56: warning: optimization attribute on 'bool operator==(const S2Shape::Edge&, const S2Shape::Edge&)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(const Edge& x, const Edge& y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2polyline.h:31:0, from geography.h:7, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2shape.h:80:58: warning: optimization attribute on 'bool operator==(const S2Shape::Chain&, const S2Shape::Chain&)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(const Chain& x, const Chain& y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2polyline.h:31:0, from geography.h:7, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2shape.h:94:74: warning: optimization attribute on 'bool operator==(const S2Shape::ChainPosition&, const S2Shape::ChainPosition&)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(const ChainPosition& x, const ChainPosition& y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2polyline.h:31:0, from geography.h:7, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2shape.h:114:76: warning: optimization attribute on 'bool operator==(const S2Shape::ReferencePoint&, const S2Shape::ReferencePoint&)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(const ReferencePoint& x, const ReferencePoint& y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:32:0, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/r2rect.h:232:59: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const R2Rect&)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, const R2Rect& r); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/mutable_s2shape_index.h:34:0, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2cell_id.h: In function 'bool operator==(S2CellId, S2CellId)': ../inst/include/s2/s2cell_id.h:470:46: warning: optimization attribute on 'bool operator==(S2CellId, S2CellId)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(S2CellId x, S2CellId y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/mutable_s2shape_index.h:34:0, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2cell_id.h: At global scope: ../inst/include/s2/s2cell_id.h:693:55: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, S2CellId)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, S2CellId id); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2builder.h:33:0, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1chord_angle.h: At global scope: ../inst/include/s2/s1chord_angle.h:134:56: warning: optimization attribute on 'bool operator==(S1ChordAngle, S1ChordAngle)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(S1ChordAngle x, S1ChordAngle y); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2builder.h:33:0, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1chord_angle.h:153:63: warning: optimization attribute on 'S1ChordAngle operator+(S1ChordAngle, S1ChordAngle)' follows definition but the attribute doesn't match [-Wattributes] friend S1ChordAngle operator+(S1ChordAngle a, S1ChordAngle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:32:17: note: previous definition of 'Rcomplex operator+(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator+( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2builder.h:33:0, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1chord_angle.h:154:63: warning: optimization attribute on 'S1ChordAngle operator-(S1ChordAngle, S1ChordAngle)' follows definition but the attribute doesn't match [-Wattributes] friend S1ChordAngle operator-(S1ChordAngle a, S1ChordAngle b); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:39:17: note: previous definition of 'Rcomplex operator-(const Rcomplex&, const Rcomplex&)' was here inline Rcomplex operator-( const Rcomplex& lhs, const Rcomplex& rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2builder.h:33:0, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s1chord_angle.h:367:58: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, S1ChordAngle)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, S1ChordAngle a); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2boolean_operation.h:24:0, from ../inst/include/s2/s2polygon.h:31, from geography.h:8, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2builder.h:943:49: warning: optimization attribute on 'bool operator==(const S2Builder::GraphOptions&, const S2Builder::GraphOptions&)' follows definition but the attribute doesn't match [-Wattributes] const S2Builder::GraphOptions& y); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2shape_index_region.h:21:0, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2cap.h:231:60: warning: optimization attribute on 'std::ostream& operator<<(std::ostream&, const S2Cap&)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& os, const S2Cap& cap); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:76:23: note: previous definition of 'std::ostream& operator<<(std::ostream&, const Rcomplex&)' was here inline std::ostream & operator<<(std::ostream &os, const Rcomplex& cplx) { ^~~~~~~~ In file included from ../inst/include/s2/s2shape_index_region.h:22:0, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2cell.h: In function 'bool operator==(const S2Cell&, const S2Cell&)': ../inst/include/s2/s2cell.h:217:56: warning: optimization attribute on 'bool operator==(const S2Cell&, const S2Cell&)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(const S2Cell& x, const S2Cell& y) { ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2shape_index_region.h:23:0, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/s2cell_union.h: At global scope: ../inst/include/s2/s2cell_union.h:278:68: warning: optimization attribute on 'bool operator==(const S2CellUnion&, const S2CellUnion&)' follows definition but the attribute doesn't match [-Wattributes] friend bool operator==(const S2CellUnion& x, const S2CellUnion& y); ^ In file included from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:136:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp/complex.h:68:13: note: previous definition of 'bool operator==(const Rcomplex&, const Rcomplex&)' was here inline bool operator==( const Rcomplex& a, const Rcomplex& b) { ^~~~~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from ../inst/include/s2/s2shape_index_region.h:24, from geography.h:10, from point-geography.h:9, from wk-geography.h:11, from s2-constructors-formatters.cpp:6: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/RcppCommon.h:60, from /scratch/work/geography/R-s2/work/.buildlink/lib/R/library/Rcpp/include/Rcpp.h:27, from s2-constructors-formatters.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-predicates.cpp -o s2-predicates.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-predicates.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-predicates.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-predicates.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-predicates.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-predicates.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-transformers.cpp -o s2-transformers.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-transformers.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-transformers.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-transformers.cpp:3: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-transformers.cpp:2: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-transformers.cpp:2: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c init.cpp -o init.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c RcppExports.cpp -o RcppExports.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-geography.cpp -o s2-geography.o In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2-geography.cpp:4: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-lnglat.cpp -o s2-lnglat.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-matrix.cpp -o s2-matrix.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-matrix.cpp:7: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-matrix.cpp:7: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2-matrix.cpp:7: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2-matrix.cpp:6: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2-matrix.cpp:6: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-point.cpp -o s2-point.o In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from s2-point.cpp:2: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from s2-point.cpp:2: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-xptr.cpp -o s2-xptr.o gcc -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c wk-impl.c -o wk-impl.o gcc -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c wk-c-utils.c -o wk-c-utils.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2-c-api.cpp -o s2-c-api.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2-c-api.cpp:4: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/base/stringprintf.cc -o s2/base/stringprintf.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/base/strtoint.cc -o s2/base/strtoint.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/encoded_s2cell_id_vector.cc -o s2/encoded_s2cell_id_vector.o In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator==(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:537:54: warning: optimization attribute on 'bool absl::operator==(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:464:13: note: previous definition of 'bool absl::operator==(absl::uint128, absl::uint128)' was here inline bool operator==(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator!=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:547:54: warning: optimization attribute on 'bool absl::operator!=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator!=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:469:13: note: previous definition of 'bool absl::operator!=(absl::uint128, absl::uint128)' was here inline bool operator!=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator<(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:551:53: warning: optimization attribute on 'bool absl::operator<(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:473:13: note: previous definition of 'bool absl::operator<(absl::uint128, absl::uint128)' was here inline bool operator<(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator>(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:557:53: warning: optimization attribute on 'bool absl::operator>(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>(string_view x, string_view y) noexcept { return y < x; } ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:479:13: note: previous definition of 'bool absl::operator>(absl::uint128, absl::uint128)' was here inline bool operator>(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator<=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:559:54: warning: optimization attribute on 'bool absl::operator<=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:485:13: note: previous definition of 'bool absl::operator<=(absl::uint128, absl::uint128)' was here inline bool operator<=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator>=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:563:54: warning: optimization attribute on 'bool absl::operator>=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:491:13: note: previous definition of 'bool absl::operator>=(absl::uint128, absl::uint128)' was here inline bool operator>=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: At global scope: ../inst/include/s2/third_party/absl/strings/string_view.h:568:60: warning: optimization attribute on 'std::ostream& absl::operator<<(std::ostream&, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& o, string_view piece); ^ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from s2/encoded_s2cell_id_vector.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:551:16: note: previous definition of 'absl::uint128 absl::operator<<(absl::uint128, int)' was here inline uint128 operator<<(uint128 lhs, int amount) { ^~~~~~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/encoded_s2point_vector.cc -o s2/encoded_s2point_vector.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/encoded_s2shape_index.cc -o s2/encoded_s2shape_index.o In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator==(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:537:54: warning: optimization attribute on 'bool absl::operator==(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:464:13: note: previous definition of 'bool absl::operator==(absl::uint128, absl::uint128)' was here inline bool operator==(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator!=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:547:54: warning: optimization attribute on 'bool absl::operator!=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator!=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:469:13: note: previous definition of 'bool absl::operator!=(absl::uint128, absl::uint128)' was here inline bool operator!=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator<(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:551:53: warning: optimization attribute on 'bool absl::operator<(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:473:13: note: previous definition of 'bool absl::operator<(absl::uint128, absl::uint128)' was here inline bool operator<(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator>(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:557:53: warning: optimization attribute on 'bool absl::operator>(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>(string_view x, string_view y) noexcept { return y < x; } ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:479:13: note: previous definition of 'bool absl::operator>(absl::uint128, absl::uint128)' was here inline bool operator>(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator<=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:559:54: warning: optimization attribute on 'bool absl::operator<=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:485:13: note: previous definition of 'bool absl::operator<=(absl::uint128, absl::uint128)' was here inline bool operator<=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: In function 'bool absl::operator>=(absl::string_view, absl::string_view)': ../inst/include/s2/third_party/absl/strings/string_view.h:563:54: warning: optimization attribute on 'bool absl::operator>=(absl::string_view, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:491:13: note: previous definition of 'bool absl::operator>=(absl::uint128, absl::uint128)' was here inline bool operator>=(uint128 lhs, uint128 rhs) { ^~~~~~~~ In file included from ../inst/include/s2/s2cell_id.h:35:0, from ../inst/include/s2/encoded_s2cell_id_vector.h:23, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/string_view.h: At global scope: ../inst/include/s2/third_party/absl/strings/string_view.h:568:60: warning: optimization attribute on 'std::ostream& absl::operator<<(std::ostream&, absl::string_view)' follows definition but the attribute doesn't match [-Wattributes] std::ostream& operator<<(std::ostream& o, string_view piece); ^ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/util/coding/varint.h:41, from ../inst/include/s2/util/coding/coder.h:32, from ../inst/include/s2/encoded_uint_vector.h:25, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/numeric/int128.h:551:16: note: previous definition of 'absl::uint128 absl::operator<<(absl::uint128, int)' was here inline uint128 operator<<(uint128 lhs, int amount) { ^~~~~~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/encoded_s2shape_index.h:23, from s2/encoded_s2shape_index.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_s2cell_id_vector.h:22, from ../inst/include/s2/encoded_s2shape_index.h:21, from s2/encoded_s2shape_index.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/encoded_string_vector.cc -o s2/encoded_string_vector.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/id_set_lexicon.cc -o s2/id_set_lexicon.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/mutable_s2shape_index.cc -o s2/mutable_s2shape_index.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': s2/mutable_s2shape_index.cc:871:48: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from s2/mutable_s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/r2rect.cc -o s2/r2rect.o In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from s2/r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s1angle.cc -o s2/s1angle.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s1chord_angle.cc -o s2/s1chord_angle.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s1interval.cc -o s2/s1interval.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2boolean_operation.cc -o s2/s2boolean_operation.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from s2/s2boolean_operation.cc:78: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from s2/s2boolean_operation.cc:78: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:36:0, from ../inst/include/s2/s2edge_crosser.h:23, from ../inst/include/s2/s2contains_point_query.h:23, from s2/s2boolean_operation.cc:78: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const S2BooleanOperation::SourceId&>, std::tuple<>}; Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false> >, std::pair<const S2BooleanOperation::SourceId, int>&, std::pair<const S2BooleanOperation::SourceId, int>*>; typename Params::pointer = std::pair<const S2BooleanOperation::SourceId, int>*; typename Params::reference = std::pair<const S2BooleanOperation::SourceId, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const S2BooleanOperation::SourceId&>, std::tuple<>}; Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; typename Params::pointer = std::pair<const S2BooleanOperation::SourceId, int>*; typename Params::reference = std::pair<const S2BooleanOperation::SourceId, int>&; gtl::internal_btree::btree<Params>::key_type = S2BooleanOperation::SourceId]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = S2BooleanOperation::SourceId]' s2/s2boolean_operation.cc:1132:28: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In instantiation of 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*) [with Allocator = std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >; K = S2BooleanOperation::SourceId; V = int]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const S2BooleanOperation::SourceId&>, std::tuple<>}; Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false> >, std::pair<const S2BooleanOperation::SourceId, int>&, std::pair<const S2BooleanOperation::SourceId, int>*>; typename Params::pointer = std::pair<const S2BooleanOperation::SourceId, int>*; typename Params::reference = std::pair<const S2BooleanOperation::SourceId, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const S2BooleanOperation::SourceId&>, std::tuple<>}; Params = gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false>; typename Params::pointer = std::pair<const S2BooleanOperation::SourceId, int>*; typename Params::reference = std::pair<const S2BooleanOperation::SourceId, int>&; gtl::internal_btree::btree<Params>::key_type = S2BooleanOperation::SourceId]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<S2BooleanOperation::SourceId, int, std::less<S2BooleanOperation::SourceId>, std::allocator<std::pair<const S2BooleanOperation::SourceId, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = S2BooleanOperation::SourceId]' s2/s2boolean_operation.cc:1132:28: required from here ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2boolean_operation.h:24, from s2/s2boolean_operation.cc:66: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2boolean_operation.h:23, from s2/s2boolean_operation.cc:66: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builder_graph.cc -o s2/s2builder_graph.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const int, int> >]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const int&>, std::tuple<>}; Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false> >, std::pair<const int, int>&, std::pair<const int, int>*>; typename Params::pointer = std::pair<const int, int>*; typename Params::reference = std::pair<const int, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const int&>, std::tuple<>}; Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; typename Params::pointer = std::pair<const int, int>*; typename Params::reference = std::pair<const int, int>&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = int]' s2/s2builder_graph.cc:735:29: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In instantiation of 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*) [with Allocator = std::allocator<std::pair<const int, int> >; K = int; V = int]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const int, int> >]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const int&>, std::tuple<>}; Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false> >, std::pair<const int, int>&, std::pair<const int, int>*>; typename Params::pointer = std::pair<const int, int>*; typename Params::reference = std::pair<const int, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const int&>, std::tuple<>}; Params = gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false>; typename Params::pointer = std::pair<const int, int>*; typename Params::reference = std::pair<const int, int>&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<int, int, std::less<int>, std::allocator<std::pair<const int, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = int]' s2/s2builder_graph.cc:735:29: required from here ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from s2/s2builder_graph.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder_graph.h:25, from s2/s2builder_graph.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builder.cc -o s2/s2builder.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2builder.cc:92: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2builder.cc:92: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2builder.cc:92: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {std::pair<const S2CellId, S2PointIndex<int>::PointData>}; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&]' ../inst/include/s2/util/gtl/btree.h:1913:26: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::insert_multi(const key_type&, ValueType&&) [with ValueType = std::pair<const S2CellId, S2PointIndex<int>::PointData>; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&; gtl::internal_btree::btree<Params>::key_type = S2CellId]' ../inst/include/s2/util/gtl/btree.h:1125:24: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::insert_multi(ValueType&&) [with ValueType = std::pair<const S2CellId, S2PointIndex<int>::PointData>; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&]' ../inst/include/s2/util/gtl/btree_container.h:365:49: required from 'gtl::internal_btree::btree_multiset_container<Tree>::iterator gtl::internal_btree::btree_multiset_container<Tree>::insert(gtl::internal_btree::btree_multiset_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >; gtl::internal_btree::btree_multiset_container<Tree>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; gtl::internal_btree::btree_multiset_container<Tree>::value_type = std::pair<const S2CellId, S2PointIndex<int>::PointData>]' ../inst/include/s2/s2point_index.h:226:3: required from 'void S2PointIndex<Data>::Add(const S2PointIndex<Data>::PointData&) [with Data = int]' ../inst/include/s2/s2point_index.h:231:6: required from 'void S2PointIndex<Data>::Add(const S2Point&, const Data&) [with Data = int; S2Point = Vector3<double>]' s2/s2builder.cc:635:35: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In instantiation of 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*) [with Allocator = std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >; K = S2CellId; V = S2PointIndex<int>::PointData]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {std::pair<const S2CellId, S2PointIndex<int>::PointData>}; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&]' ../inst/include/s2/util/gtl/btree.h:1913:26: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::insert_multi(const key_type&, ValueType&&) [with ValueType = std::pair<const S2CellId, S2PointIndex<int>::PointData>; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&; gtl::internal_btree::btree<Params>::key_type = S2CellId]' ../inst/include/s2/util/gtl/btree.h:1125:24: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::insert_multi(ValueType&&) [with ValueType = std::pair<const S2CellId, S2PointIndex<int>::PointData>; Params = gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; typename Params::pointer = std::pair<const S2CellId, S2PointIndex<int>::PointData>*; typename Params::reference = std::pair<const S2CellId, S2PointIndex<int>::PointData>&]' ../inst/include/s2/util/gtl/btree_container.h:365:49: required from 'gtl::internal_btree::btree_multiset_container<Tree>::iterator gtl::internal_btree::btree_multiset_container<Tree>::insert(gtl::internal_btree::btree_multiset_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >; gtl::internal_btree::btree_multiset_container<Tree>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<S2CellId, S2PointIndex<int>::PointData, std::less<S2CellId>, std::allocator<std::pair<const S2CellId, S2PointIndex<int>::PointData> >, 256, true> >, std::pair<const S2CellId, S2PointIndex<int>::PointData>&, std::pair<const S2CellId, S2PointIndex<int>::PointData>*>; gtl::internal_btree::btree_multiset_container<Tree>::value_type = std::pair<const S2CellId, S2PointIndex<int>::PointData>]' ../inst/include/s2/s2point_index.h:226:3: required from 'void S2PointIndex<Data>::Add(const S2PointIndex<Data>::PointData&) [with Data = int]' ../inst/include/s2/s2point_index.h:231:6: required from 'void S2PointIndex<Data>::Add(const S2Point&, const Data&) [with Data = int; S2Point = Vector3<double>]' s2/s2builder.cc:635:35: required from here ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from s2/s2builder.cc:70: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builder.h:26, from s2/s2builder.cc:70: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_closed_set_normalizer.cc -o s2/s2builderutil_closed_set_normalizer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:21, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_closed_set_normalizer.h:23, from s2/s2builderutil_closed_set_normalizer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_find_polygon_degeneracies.cc -o s2/s2builderutil_find_polygon_degeneracies.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2crossing_edge_query.h:25:0, from s2/s2builderutil_find_polygon_degeneracies.cc:29: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2crossing_edge_query.h:25:0, from s2/s2builderutil_find_polygon_degeneracies.cc:29: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2crossing_edge_query.h:25:0, from s2/s2builderutil_find_polygon_degeneracies.cc:29: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const Vector3<double>, int> >]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const Vector3<double>&>, std::tuple<>}; Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false> >, std::pair<const Vector3<double>, int>&, std::pair<const Vector3<double>, int>*>; typename Params::pointer = std::pair<const Vector3<double>, int>*; typename Params::reference = std::pair<const Vector3<double>, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const Vector3<double>&>, std::tuple<>}; Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; typename Params::pointer = std::pair<const Vector3<double>, int>*; typename Params::reference = std::pair<const Vector3<double>, int>&; gtl::internal_btree::btree<Params>::key_type = Vector3<double>]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = Vector3<double>]' ../inst/include/s2/s2contains_vertex_query.h:63:14: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In instantiation of 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*) [with Allocator = std::allocator<std::pair<const Vector3<double>, int> >; K = Vector3<double>; V = int]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<std::pair<const Vector3<double>, int> >]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const Vector3<double>&>, std::tuple<>}; Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false> >, std::pair<const Vector3<double>, int>&, std::pair<const Vector3<double>, int>*>; typename Params::pointer = std::pair<const Vector3<double>, int>*; typename Params::reference = std::pair<const Vector3<double>, int>&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const std::piecewise_construct_t&, std::tuple<const Vector3<double>&>, std::tuple<>}; Params = gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false>; typename Params::pointer = std::pair<const Vector3<double>, int>*; typename Params::reference = std::pair<const Vector3<double>, int>&; gtl::internal_btree::btree<Params>::key_type = Vector3<double>]' ../inst/include/s2/util/gtl/btree_container.h:290:10: required from 'gtl::internal_btree::btree_map_container<Tree>::mapped_type& gtl::internal_btree::btree_map_container<Tree>::operator[](const key_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::map_params<Vector3<double>, int, std::less<Vector3<double> >, std::allocator<std::pair<const Vector3<double>, int> >, 256, false> >; gtl::internal_btree::btree_map_container<Tree>::mapped_type = int; gtl::internal_btree::btree_map_container<Tree>::key_type = Vector3<double>]' ../inst/include/s2/s2contains_vertex_query.h:63:14: required from here ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builder_graph.h:28, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:24, from s2/s2builderutil_find_polygon_degeneracies.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_find_polygon_degeneracies.h:21, from s2/s2builderutil_find_polygon_degeneracies.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_lax_polygon_layer.cc -o s2/s2builderutil_lax_polygon_layer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_lax_polygon_layer.h:40, from s2/s2builderutil_lax_polygon_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_s2point_vector_layer.cc -o s2/s2builderutil_s2point_vector_layer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2point_vector_layer.h:26, from s2/s2builderutil_s2point_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_s2polygon_layer.cc -o s2/s2builderutil_s2polygon_layer.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_s2polyline_layer.cc -o s2/s2builderutil_s2polyline_layer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_layer.h:26, from s2/s2builderutil_s2polyline_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_s2polyline_vector_layer.cc -o s2/s2builderutil_s2polyline_vector_layer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builderutil_s2polyline_vector_layer.h:26, from s2/s2builderutil_s2polyline_vector_layer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_snap_functions.cc -o s2/s2builderutil_snap_functions.o In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_snap_functions.h:23, from s2/s2builderutil_snap_functions.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2builderutil_testing.cc -o s2/s2builderutil_testing.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2builderutil_testing.h:21, from s2/s2builderutil_testing.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2builder.h:31, from ../inst/include/s2/s2builderutil_testing.h:24, from s2/s2builderutil_testing.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2cap.cc -o s2/s2cap.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2cell_id.cc -o s2/s2cell_id.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from s2/s2cell_id.cc:34:0: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from s2/s2cell_id.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2cell_index.cc -o s2/s2cell_index.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_index.h:24, from s2/s2cell_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2cell_union.cc -o s2/s2cell_union.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from s2/s2cell_union.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2cell.cc -o s2/s2cell.o In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': s2/s2cell.cc:123:66: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from s2/s2cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2centroids.cc -o s2/s2centroids.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const [with T = double; Vector3<T>::FloatType = double]': s2/s2centroids.cc:40:29: required from here ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:448:17: required from 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const [with T = double; Vector3<T>::FloatType = double]' s2/s2centroids.cc:40:29: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2centroids.h:50, from s2/s2centroids.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2closest_cell_query.cc -o s2/s2closest_cell_query.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_cell_query_base.h:35, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_cell_query_base.h:35, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_cell_query_base.h:35, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_cell_query.h:25, from s2/s2closest_cell_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestCellQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestCellQueryBase<S2MinDistance>::Result&, S2ClosestCellQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestCellQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestCellQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestCellQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestCellQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestCellQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestCellQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestCellQueryBase<S2MinDistance>::Result&, S2ClosestCellQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestCellQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_cell_query_base.h:780:5: required from 'void S2ClosestCellQueryBase<Distance>::MaybeAddResult(S2CellId, S2ClosestCellQueryBase<Distance>::Label) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Label = int]' ../inst/include/s2/s2closest_cell_query_base.h:584:19: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCellsBruteForce() [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_cell_query_base.h:572:31: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCellsInternal(S2ClosestCellQueryBase<Distance>::Target*, const S2ClosestCellQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_cell_query_base.h:499:27: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCells(S2ClosestCellQueryBase<Distance>::Target*, const S2ClosestCellQueryBase<Distance>::Options&, std::vector<S2ClosestCellQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_cell_query.h:370:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestCellQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestCellQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestCellQueryBase<S2MinDistance>::Result&, S2ClosestCellQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestCellQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestCellQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestCellQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestCellQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestCellQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestCellQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestCellQueryBase<S2MinDistance>::Result, std::less<S2ClosestCellQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestCellQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestCellQueryBase<S2MinDistance>::Result&, S2ClosestCellQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestCellQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_cell_query_base.h:780:5: required from 'void S2ClosestCellQueryBase<Distance>::MaybeAddResult(S2CellId, S2ClosestCellQueryBase<Distance>::Label) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Label = int]' ../inst/include/s2/s2closest_cell_query_base.h:584:19: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCellsBruteForce() [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_cell_query_base.h:572:31: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCellsInternal(S2ClosestCellQueryBase<Distance>::Target*, const S2ClosestCellQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_cell_query_base.h:499:27: required from 'void S2ClosestCellQueryBase<Distance>::FindClosestCells(S2ClosestCellQueryBase<Distance>::Target*, const S2ClosestCellQueryBase<Distance>::Options&, std::vector<S2ClosestCellQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestCellQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_cell_query.h:370:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2closest_cell_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_cell_query.h:21, from s2/s2closest_cell_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2closest_edge_query.cc -o s2/s2closest_edge_query.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2closest_edge_query.h:30, from s2/s2closest_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2closest_edge_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2closest_edge_query.h:22, from s2/s2closest_edge_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2closest_point_query.cc -o s2/s2closest_point_query.o In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/s2point_index.h:23, from ../inst/include/s2/s2closest_point_query_base.h:33, from ../inst/include/s2/s2closest_point_query.h:28, from s2/s2closest_point_query.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2closest_point_query.h:23, from s2/s2closest_point_query.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2contains_vertex_query.cc -o s2/s2contains_vertex_query.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2convex_hull_query.cc -o s2/s2convex_hull_query.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2convex_hull_query.h:27, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2convex_hull_query.h:28, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2convex_hull_query.h:28, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2convex_hull_query.h:28, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2convex_hull_query.h:22, from s2/s2convex_hull_query.cc:26: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2cap.h:28, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2cap.h:22:0, from ../inst/include/s2/s2convex_hull_query.h:25, from s2/s2convex_hull_query.cc:26: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2coords.cc -o s2/s2coords.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2crossing_edge_query.cc -o s2/s2crossing_edge_query.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from s2/s2crossing_edge_query.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2debug.cc -o s2/s2debug.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2earth.cc -o s2/s2earth.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2edge_clipping.cc -o s2/s2edge_clipping.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2edge_crosser.cc -o s2/s2edge_crosser.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' s2/s2edge_crosser.cc:44:60: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_crossings.h:38, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s2edge_crossings.h:32:0, from ../inst/include/s2/s2edge_crosser.h:23, from s2/s2edge_crosser.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2edge_crossings.cc -o s2/s2edge_crossings.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2edge_distances.cc -o s2/s2edge_distances.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2edge_tessellator.cc -o s2/s2edge_tessellator.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' s2/s2edge_tessellator.cc:236:37: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2edge_tessellator.h:22, from s2/s2edge_tessellator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2error.cc -o s2/s2error.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2furthest_edge_query.cc -o s2/s2furthest_edge_query.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2furthest_edge_query.h:28, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MaxDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:524:27: required from 'S2ClosestEdgeQueryBase<Distance>::Result S2ClosestEdgeQueryBase<Distance>::FindClosestEdge(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' s2/s2furthest_edge_query.cc:85:71: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MaxDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:524:27: required from 'S2ClosestEdgeQueryBase<Distance>::Result S2ClosestEdgeQueryBase<Distance>::FindClosestEdge(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' s2/s2furthest_edge_query.cc:85:71: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MaxDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MaxDistance>::Result&, S2ClosestEdgeQueryBase<S2MaxDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MaxDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MaxDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MaxDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MaxDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MaxDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MaxDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MaxDistance>::Result&, S2ClosestEdgeQueryBase<S2MaxDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MaxDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MaxDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:524:27: required from 'S2ClosestEdgeQueryBase<Distance>::Result S2ClosestEdgeQueryBase<Distance>::FindClosestEdge(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' s2/s2furthest_edge_query.cc:85:71: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MaxDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MaxDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MaxDistance>::Result&, S2ClosestEdgeQueryBase<S2MaxDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MaxDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MaxDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MaxDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MaxDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MaxDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MaxDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MaxDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MaxDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MaxDistance>::Result&, S2ClosestEdgeQueryBase<S2MaxDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MaxDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MaxDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:524:27: required from 'S2ClosestEdgeQueryBase<Distance>::Result S2ClosestEdgeQueryBase<Distance>::FindClosestEdge(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MaxDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MaxDistance>]' s2/s2furthest_edge_query.cc:85:71: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2furthest_edge_query.cc:16: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from /usr/include/g++/queue:61, from ../inst/include/s2/s2furthest_edge_query.h:20, from s2/s2furthest_edge_query.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2latlng_rect_bounder.cc -o s2/s2latlng_rect_bounder.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2latlng_rect.cc -o s2/s2latlng_rect.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2latlng.cc -o s2/s2latlng.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2lax_loop_shape.cc -o s2/s2lax_loop_shape.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from ../inst/include/s2/s2lax_loop_shape.h:39, from s2/s2lax_loop_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_loop_shape.h:37, from s2/s2lax_loop_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2lax_polygon_shape.cc -o s2/s2lax_polygon_shape.o In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2lax_polygon_shape.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2lax_polygon_shape.h:22, from s2/s2lax_polygon_shape.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2lax_polyline_shape.cc -o s2/s2lax_polyline_shape.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2loop_measures.cc -o s2/s2loop_measures.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2loop.cc -o s2/s2loop.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2loop.cc:39: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2loop.cc:39: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2loop.cc:39: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2loop.cc:39: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2loop.cc:39: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from s2/s2loop.cc:39: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ s2/s2loop.cc: In constructor 'LoopCrosser::LoopCrosser(const S2Loop&, const S2Loop&, LoopRelation*, bool)': s2/s2loop.cc:790:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ s2/s2loop.cc:790:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ s2/s2loop.cc:790:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2loop.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2loop.h:26, from s2/s2loop.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2max_distance_targets.cc -o s2/s2max_distance_targets.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2furthest_edge_query.h:32, from s2/s2max_distance_targets.cc:24: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2max_distance_targets.h:27, from s2/s2max_distance_targets.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2measures.cc -o s2/s2measures.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const [with T = double; Vector3<T>::FloatType = double]': s2/s2measures.cc:39:59: required from here ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:448:17: required from 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const [with T = double; Vector3<T>::FloatType = double]' s2/s2measures.cc:39:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2measures.h:24, from s2/s2measures.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2metrics.cc -o s2/s2metrics.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2min_distance_targets.cc -o s2/s2min_distance_targets.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_cell_query_base.h:26, from ../inst/include/s2/s2closest_cell_query.h:29, from s2/s2min_distance_targets.cc:25: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2min_distance_targets.h:29, from s2/s2min_distance_targets.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2padded_cell.cc -o s2/s2padded_cell.o In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T> Vector3<T>::Abs() const [with T = double]': ../inst/include/s2/util/math/vector.h:465:23: required from 'int Vector3<T>::LargestAbsComponent() const [with T = double]' ../inst/include/s2/s2coords.h:381:36: required from here ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/ext/string_conversions.h:41, from /usr/include/g++/bits/basic_string.h:6361, from /usr/include/g++/string:52, from /usr/include/g++/bits/locale_classes.h:40, from /usr/include/g++/bits/ios_base.h:41, from /usr/include/g++/streambuf:41, from ../inst/include/cpp-compat.h:5, from ../inst/include/s2/base/logging.h:18, from ../inst/include/s2/r2rect.h:23, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2padded_cell.h:22, from s2/s2padded_cell.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2point_compression.cc -o s2/s2point_compression.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_compression.h:51, from s2/s2point_compression.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2point_region.cc -o s2/s2point_region.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2point_region.h:23, from s2/s2point_region.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2pointutil.cc -o s2/s2pointutil.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T> Vector3<T>::Abs() const [with T = double]': ../inst/include/s2/util/math/vector.h:465:23: required from 'int Vector3<T>::LargestAbsComponent() const [with T = double]' s2/s2pointutil.cc:49:33: required from here ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' s2/s2pointutil.cc:53:38: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2pointutil.h:25, from s2/s2pointutil.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2polygon.cc -o s2/s2polygon.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<int> Vector3<T>::ComponentOrder() const': ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:473:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2polygon.cc:46: ../inst/include/s2/third_party/absl/container/inlined_vector.h: In member function 'void absl::InlinedVector<T, N, A>::swap(absl::InlinedVector<T, N, A>&)': ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2polygon.cc:46: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/s2closest_edge_query.h:28:0, from s2/s2polygon.cc:46: ../inst/include/s2/third_party/absl/container/inlined_vector.h:1178:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; // Augment ADL with `std::swap`. ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/mutable_s2shape_index.h:34, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from s2/s2polygon.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2polygon.h:24, from s2/s2polygon.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2polyline_alignment.cc -o s2/s2polyline_alignment.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' s2/s2polyline_alignment.cc:404:23: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from ../inst/include/s2/s2polyline_alignment.h:23, from s2/s2polyline_alignment.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2polyline_measures.cc -o s2/s2polyline_measures.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2polyline_simplifier.cc -o s2/s2polyline_simplifier.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T> Vector3<T>::Abs() const [with T = double]': s2/s2polyline_simplifier.cc:35:25: required from here ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2polyline_simplifier.h:61, from s2/s2polyline_simplifier.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2polyline.cc -o s2/s2polyline.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const [with T = double; Vector3<T>::FloatType = double]': s2/s2polyline.cc:408:45: required from here ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2polyline.h:26, from s2/s2polyline.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2predicates.cc -o s2/s2predicates.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1chord_angle.h:21, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': s2/s2predicates.cc:688:30: required from 'int s2pred::TriageCompareEdgeDistance(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, T) [with T = double]' s2/s2predicates.cc:753:62: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = long double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = long double]': s2/s2predicates.cc:688:30: required from 'int s2pred::TriageCompareEdgeDistance(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, T) [with T = long double]' s2/s2predicates.cc:760:53: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s1chord_angle.h:27, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1chord_angle.h:21:0, from ../inst/include/s2/s2predicates.h:38, from s2/s2predicates.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2projections.cc -o s2/s2projections.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2projections.h:25, from s2/s2projections.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2r2rect.cc -o s2/s2r2rect.o In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/s2r2rect.h:25, from s2/s2r2rect.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2region_coverer.cc -o s2/s2region_coverer.o In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r1interval.h:28:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/r1interval.h:22:0, from ../inst/include/s2/r2rect.h:25, from ../inst/include/s2/s2cell.h:24, from ../inst/include/s2/s2region_coverer.h:29, from s2/s2region_coverer.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2region_intersection.cc -o s2/s2region_intersection.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_intersection.h:25, from s2/s2region_intersection.cc:17: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2region_term_indexer.cc -o s2/s2region_term_indexer.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from s2/s2region_term_indexer.cc:84:0: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2cell_union.h:27, from ../inst/include/s2/s2region_term_indexer.h:103, from s2/s2region_term_indexer.cc:75: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2region_union.cc -o s2/s2region_union.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from ../inst/include/s2/s2region_union.h:26, from s2/s2region_union.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2region.cc -o s2/s2region.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cmath:47:0, from ../inst/include/s2/s1angle.h:21, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s1angle.h:28, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/s1angle.h:21:0, from ../inst/include/s2/s2region.h:24, from s2/s2region.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shape_index_buffered_region.cc -o s2/s2shape_index_buffered_region.o In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_set.h:30, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/s2closest_edge_query_base.h:39, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = int; Compare = std::less<int>; Alloc = std::allocator<int>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<int>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; typename Params::pointer = int*; typename Params::reference = int&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {int}; Params = gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false>; typename Params::pointer = int*; typename Params::reference = int&; gtl::internal_btree::btree<Params>::key_type = int]' ../inst/include/s2/util/gtl/btree_container.h:227:71: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(gtl::internal_btree::btree_set_container<Tree>::value_type&&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<int, std::less<int>, std::allocator<int>, 256, false> >, int&, int*>; gtl::internal_btree::btree_set_container<Tree>::value_type = int]' ../inst/include/s2/s2closest_edge_query_base.h:573:27: required from 'S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&)::<lambda(S2Shape*, const S2Point&)> [with Distance = S2MinDistance; S2Point = Vector3<double>]' ../inst/include/s2/s2closest_edge_query_base.h:571:32: required from 'struct S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]::<lambda(class S2Shape*, const S2Point&)>' ../inst/include/s2/s2closest_edge_query_base.h:570:5: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]': ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h: In instantiation of 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*) [with Key = S2ClosestEdgeQueryBase<S2MinDistance>::Result; Compare = std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; Alloc = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>; int TargetNodeSize = 256; bool Multi = false]': ../inst/include/s2/util/gtl/btree.h:1736:20: required from 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*) [with Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree_node<Params>::allocator_type = std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>]' ../inst/include/s2/util/gtl/btree.h:2305:7: required from 'gtl::internal_btree::btree<Params>::iterator gtl::internal_btree::btree<Params>::internal_emplace(gtl::internal_btree::btree<Params>::iterator, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; gtl::internal_btree::btree<Params>::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&]' ../inst/include/s2/util/gtl/btree.h:1864:41: required from 'std::pair<gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<Params>, typename Params::reference, typename Params::pointer>, bool> gtl::internal_btree::btree<Params>::insert_unique(const key_type&, Args&& ...) [with Args = {const S2ClosestEdgeQueryBase<S2MinDistance>::Result&}; Params = gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false>; typename Params::pointer = S2ClosestEdgeQueryBase<S2MinDistance>::Result*; typename Params::reference = S2ClosestEdgeQueryBase<S2MinDistance>::Result&; gtl::internal_btree::btree<Params>::key_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/util/gtl/btree_container.h:224:60: required from 'std::pair<typename Tree::iterator, bool> gtl::internal_btree::btree_set_container<Tree>::insert(const value_type&) [with Tree = gtl::internal_btree::btree<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >; typename Tree::iterator = gtl::internal_btree::btree_iterator<gtl::internal_btree::btree_node<gtl::internal_btree::set_params<S2ClosestEdgeQueryBase<S2MinDistance>::Result, std::less<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, std::allocator<S2ClosestEdgeQueryBase<S2MinDistance>::Result>, 256, false> >, S2ClosestEdgeQueryBase<S2MinDistance>::Result&, S2ClosestEdgeQueryBase<S2MinDistance>::Result*>; gtl::internal_btree::btree_set_container<Tree>::value_type = S2ClosestEdgeQueryBase<S2MinDistance>::Result]' ../inst/include/s2/s2closest_edge_query_base.h:867:5: required from 'void S2ClosestEdgeQueryBase<Distance>::AddResult(const S2ClosestEdgeQueryBase<Distance>::Result&) [with Distance = S2MinDistance]' ../inst/include/s2/s2closest_edge_query_base.h:577:16: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdgesInternal(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query_base.h:532:27: required from 'void S2ClosestEdgeQueryBase<Distance>::FindClosestEdges(S2ClosestEdgeQueryBase<Distance>::Target*, const S2ClosestEdgeQueryBase<Distance>::Options&, std::vector<S2ClosestEdgeQueryBase<Distance>::Result>*) [with Distance = S2MinDistance; S2ClosestEdgeQueryBase<Distance>::Target = S2DistanceTarget<S2MinDistance>]' ../inst/include/s2/s2closest_edge_query.h:395:51: required from here ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_set.h:30:0, from ../inst/include/s2/s2closest_edge_query_base.h:25, from ../inst/include/s2/s2closest_edge_query.h:34, from ../inst/include/s2/s2shape_index_buffered_region.h:25, from s2/s2shape_index_buffered_region.cc:18: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2shape_index_buffered_region.h:21, from s2/s2shape_index_buffered_region.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shape_index_measures.cc -o s2/s2shape_index_measures.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shape_index.cc -o s2/s2shape_index.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from s2/s2shape_index.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shape_measures.cc -o s2/s2shape_measures.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_build_polygon_boundaries.cc -o s2/s2shapeutil_build_polygon_boundaries.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from s2/s2shapeutil_build_polygon_boundaries.cc:20: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_build_polygon_boundaries.h:23, from s2/s2shapeutil_build_polygon_boundaries.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_coding.cc -o s2/s2shapeutil_coding.o In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2polygon.h:29, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2shapeutil_coding.cc:25: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/encoded_uint_vector.h:22, from ../inst/include/s2/encoded_string_vector.h:25, from ../inst/include/s2/s2shapeutil_coding.h:42, from s2/s2shapeutil_coding.cc:18: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_contains_brute_force.cc -o s2/s2shapeutil_contains_brute_force.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'Vector3<T> Vector3<T>::Abs() const [with T = double]': ../inst/include/s2/util/math/vector.h:465:23: required from 'int Vector3<T>::LargestAbsComponent() const [with T = double]' ../inst/include/s2/s2coords.h:381:36: required from here ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2shapeutil_contains_brute_force.h:21, from s2/s2shapeutil_contains_brute_force.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_edge_iterator.cc -o s2/s2shapeutil_edge_iterator.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from s2/s2shapeutil_edge_iterator.cc:18:0: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_edge_iterator.h:19, from s2/s2shapeutil_edge_iterator.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_get_reference_point.cc -o s2/s2shapeutil_get_reference_point.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/s2contains_vertex_query.h:21, from s2/s2shapeutil_get_reference_point.cc:23: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shape_index.h:38, from ../inst/include/s2/s2shapeutil_get_reference_point.h:21, from s2/s2shapeutil_get_reference_point.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_range_iterator.cc -o s2/s2shapeutil_range_iterator.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2shapeutil_range_iterator.h:21, from s2/s2shapeutil_range_iterator.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2shapeutil_visit_crossing_edge_pairs.cc -o s2/s2shapeutil_visit_crossing_edge_pairs.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2crossing_edge_query.h:27, from ../inst/include/s2/s2shapeutil_visit_crossing_edge_pairs.h:22, from s2/s2shapeutil_visit_crossing_edge_pairs.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2testing.cc -o s2/s2testing.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from ../inst/include/s2/s2loop.h:31, from s2/s2testing.cc:40: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2testing.cc:42: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2testing.cc:42: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from s2/s2testing.cc:42: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2testing.h:26, from s2/s2testing.cc:19: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2testing.h:31, from s2/s2testing.cc:19: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2text_format.cc -o s2/s2text_format.o In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator==(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:464:48: warning: optimization attribute on 'bool absl::operator==(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:537:13: note: previous definition of 'bool absl::operator==(absl::string_view, absl::string_view)' was here inline bool operator==(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:464:48: warning: optimization attribute on 'bool absl::operator==(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator==(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:537:13: note: previous definition of 'bool absl::operator==(absl::string_view, absl::string_view)' was here inline bool operator==(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator!=(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:469:48: warning: optimization attribute on 'bool absl::operator!=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator!=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:547:13: note: previous definition of 'bool absl::operator!=(absl::string_view, absl::string_view)' was here inline bool operator!=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:469:48: warning: optimization attribute on 'bool absl::operator!=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator!=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:547:13: note: previous definition of 'bool absl::operator!=(absl::string_view, absl::string_view)' was here inline bool operator!=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator<(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:473:47: warning: optimization attribute on 'bool absl::operator<(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:551:13: note: previous definition of 'bool absl::operator<(absl::string_view, absl::string_view)' was here inline bool operator<(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:473:47: warning: optimization attribute on 'bool absl::operator<(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:551:13: note: previous definition of 'bool absl::operator<(absl::string_view, absl::string_view)' was here inline bool operator<(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator>(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:479:47: warning: optimization attribute on 'bool absl::operator>(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:557:13: note: previous definition of 'bool absl::operator>(absl::string_view, absl::string_view)' was here inline bool operator>(string_view x, string_view y) noexcept { return y < x; } ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:479:47: warning: optimization attribute on 'bool absl::operator>(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:557:13: note: previous definition of 'bool absl::operator>(absl::string_view, absl::string_view)' was here inline bool operator>(string_view x, string_view y) noexcept { return y < x; } ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator<=(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:485:48: warning: optimization attribute on 'bool absl::operator<=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:559:13: note: previous definition of 'bool absl::operator<=(absl::string_view, absl::string_view)' was here inline bool operator<=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:485:48: warning: optimization attribute on 'bool absl::operator<=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator<=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:559:13: note: previous definition of 'bool absl::operator<=(absl::string_view, absl::string_view)' was here inline bool operator<=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h: In function 'bool absl::operator>=(absl::uint128, absl::uint128)': ../inst/include/s2/third_party/absl/numeric/int128.h:491:48: warning: optimization attribute on 'bool absl::operator>=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:563:13: note: previous definition of 'bool absl::operator>=(absl::string_view, absl::string_view)' was here inline bool operator>=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/bits/bits.h:49:0, from ../inst/include/s2/s2cell_id.h:36, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/numeric/int128.h:491:48: warning: optimization attribute on 'bool absl::operator>=(absl::uint128, absl::uint128)' follows definition but the attribute doesn't match [-Wattributes] inline bool operator>=(uint128 lhs, uint128 rhs) { ^ In file included from ../inst/include/s2/s2text_format.h:31:0, from s2/s2text_format.cc:16: ../inst/include/s2/third_party/absl/strings/string_view.h:563:13: note: previous definition of 'bool absl::operator>=(absl::string_view, absl::string_view)' was here inline bool operator>=(string_view x, string_view y) noexcept { ^~~~~~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/third_party/absl/container/internal/container_memory.h: In static member function 'static void absl::container_internal::slot_type<K, V>::swap(Allocator*, absl::container_internal::slot_type<K, V>*, absl::container_internal::slot_type<K, V>*)': ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree.h:71:0, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/third_party/absl/container/internal/container_memory.h:389:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/third_party/absl/container/internal/layout.h:178:0, from ../inst/include/s2/util/gtl/layout.h:19, from ../inst/include/s2/util/gtl/btree.h:76, from ../inst/include/s2/util/gtl/btree_map.h:34, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/third_party/absl/strings/str_cat.h: At global scope: ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:319:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] ABSL_MUST_USE_RESULT string StrCat(const AlphaNum& a, const AlphaNum& b); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:321:53: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:315:36: note: previous definition of 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&)' was here ABSL_MUST_USE_RESULT inline string StrCat(const AlphaNum& a) { ^~~~~~ ../inst/include/s2/third_party/absl/strings/str_cat.h:323:72: warning: optimization attribute on 'std::__cxx11::string absl::StrCat(const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&, const absl::AlphaNum&)' follows definition but the attribute doesn't match [-Wattributes] const AlphaNum& c, const AlphaNum& d); ^ ../inst/include/s2/third_party/absl/strings/str_cat.h:313:36: note: previous definition of 'std::__cxx11::string absl::StrCat()' was here ABSL_MUST_USE_RESULT inline string StrCat() { return string(); } ^~~~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h: In static member function 'static void gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type::swap(Alloc*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*, gtl::internal_btree::set_params<Key, Compare, Alloc, TargetNodeSize, Multi>::slot_type*)': ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:344:18: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree_node<Params>::swap(gtl::internal_btree::btree_node<Params>*, gtl::internal_btree::btree_node<Params>::allocator_type*)': ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:1723:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h: In member function 'void gtl::internal_btree::btree<Params>::swap(gtl::internal_btree::btree<Params>&)': ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/btree_map.h:34:0, from ../inst/include/s2/mutable_s2shape_index.h:41, from s2/s2text_format.cc:28: ../inst/include/s2/util/gtl/btree.h:2069:14: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2text_format.cc:30: ../inst/include/s2/util/gtl/densehashtable.h: In member function 'void gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::swap(gtl::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>&)': ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:128:3: note: previous definition of 'void std::swap(bool&, std::_Bit_reference)' was here swap(bool& __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2text_format.cc:30: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:120:3: note: previous definition of 'void std::swap(std::_Bit_reference, bool&)' was here swap(_Bit_reference __x, bool& __y) noexcept ^~~~ In file included from ../inst/include/s2/util/gtl/dense_hash_set.h:128:0, from ../inst/include/s2/sequence_lexicon.h:26, from ../inst/include/s2/id_set_lexicon.h:26, from ../inst/include/s2/s2builder.h:30, from ../inst/include/s2/s2boolean_operation.h:24, from ../inst/include/s2/s2polygon.h:31, from ../inst/include/s2/s2lax_polygon_shape.h:27, from s2/s2text_format.cc:30: ../inst/include/s2/util/gtl/densehashtable.h:932:16: warning: optimization attribute on 'void std::swap(std::thread&, std::thread&)' follows definition but the attribute doesn't match [-Wattributes] using std::swap; ^~~~ In file included from /usr/include/g++/vector:65:0, from ../inst/include/s2/s2text_format.h:28, from s2/s2text_format.cc:16: /usr/include/g++/bits/stl_bvector.h:112:3: note: previous definition of 'void std::swap(std::_Bit_reference, std::_Bit_reference)' was here swap(_Bit_reference __x, _Bit_reference __y) noexcept ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const [with T = double; Vector2<T>::FloatType = double]': ../inst/include/s2/s2latlng.h:128:57: required from here ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h: In instantiation of 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType = double]': ../inst/include/s2/util/math/vector.h:185:15: required from 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::Normalize() const [with VecTemplate = Vector3; T = double; unsigned int N = 3; util::math::internal_vector::BasicVector<VecTemplate, T, N>::D = Vector3<double>]' ../inst/include/s2/s2cell_id.h:135:59: required from here ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/r2.h:22:0, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/r2.h:22, from ../inst/include/s2/s2cell_id.h:31, from ../inst/include/s2/s2text_format.h:32, from s2/s2text_format.cc:16: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/s2wedge_relations.cc -o s2/s2wedge_relations.o In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::FloatType util::math::internal_vector::BasicVector<VecTemplate, T, N>::Norm() const': ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:178:16: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In lambda function: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:463:3: note: previous definition of 'constexpr float std::sqrt(float)' was here sqrt(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:195:18: warning: optimization attribute on 'double sqrt(double)' follows definition but the attribute doesn't match [-Wattributes] using std::sqrt; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:467:3: note: previous definition of 'constexpr long double std::sqrt(long double)' was here sqrt(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'util::math::internal_vector::BasicVector<VecTemplate, T, N>::D util::math::internal_vector::BasicVector<VecTemplate, T, N>::FRound() const': ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:1753:3: note: previous definition of 'constexpr float std::rint(float)' was here rint(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:212:16: warning: optimization attribute on 'double rint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::rint; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:1757:3: note: previous definition of 'constexpr long double std::rint(long double)' was here rint(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'VecTemplate<int> util::math::internal_vector::BasicVector<VecTemplate, T, N>::IRound() const': ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:1621:3: note: previous definition of 'constexpr long int std::lrint(float)' was here lrint(float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:218:16: warning: optimization attribute on 'long int lrint(double)' follows definition but the attribute doesn't match [-Wattributes] using std::lrint; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:1625:3: note: previous definition of 'constexpr long int std::lrint(long double)' was here lrint(long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector2<T>::aequal(const Vector2<T>&, Vector2<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:346:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T>::FloatType Vector2<T>::Angle(const Vector2<T>&) const': ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:362:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector2<T> Vector2<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:372:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector3<T>::aequal(const Vector3<T>&, Vector3<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:418:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T>::FloatType Vector3<T>::Angle(const Vector3<T>&) const': ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:144:3: note: previous definition of 'constexpr float std::atan2(float, float)' was here atan2(float __y, float __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:447:16: warning: optimization attribute on 'double atan2(double, double)' follows definition but the attribute doesn't match [-Wattributes] using std::atan2; ^~~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:148:3: note: previous definition of 'constexpr long double std::atan2(long double, long double)' was here atan2(long double __y, long double __x) ^~~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector3<T> Vector3<T>::Abs() const': ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:56:3: note: previous definition of 'long int std::abs(long int)' was here abs(long __i) { return __builtin_labs(__i); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:61:3: note: previous definition of 'long long int std::abs(long long int)' was here abs(long long __x) { return __builtin_llabs (__x); } ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:70:3: note: previous definition of 'constexpr double std::abs(double)' was here abs(double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:74:3: note: previous definition of 'constexpr float std::abs(float)' was here abs(float __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:78:3: note: previous definition of 'constexpr long double std::abs(long double)' was here abs(long double __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:459:16: warning: optimization attribute on 'int abs(int)' follows definition but the attribute doesn't match [-Wattributes] using std::abs; ^~~ In file included from /usr/include/g++/cstdlib:77:0, from /usr/include/g++/bits/stl_algo.h:59, from /usr/include/g++/algorithm:62, from ../inst/include/s2/util/math/vector.h:23, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/bits/std_abs.h:102:3: note: previous definition of 'constexpr __float128 std::abs(__float128)' was here abs(__float128 __x) ^~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'bool Vector4<T>::aequal(const Vector4<T>&, Vector4<T>::FloatType) const': ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:516:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h: In member function 'Vector4<T> Vector4<T>::Fabs() const': ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:241:3: note: previous definition of 'constexpr float std::fabs(float)' was here fabs(float __x) ^~~~ In file included from ../inst/include/s2/s2point.h:22:0, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: ../inst/include/s2/util/math/vector.h:535:16: warning: optimization attribute on 'double fabs(double)' follows definition but the attribute doesn't match [-Wattributes] using std::fabs; ^~~~ In file included from ../inst/include/s2/util/math/vector.h:24:0, from ../inst/include/s2/s2point.h:22, from ../inst/include/s2/s2wedge_relations.h:24, from s2/s2wedge_relations.cc:18: /usr/include/g++/cmath:245:3: note: previous definition of 'constexpr long double std::fabs(long double)' was here fabs(long double __x) ^~~~ c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/strings/ostringstream.cc -o s2/strings/ostringstream.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/strings/serialize.cc -o s2/strings/serialize.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/base/dynamic_annotations.cc -o s2/third_party/absl/base/dynamic_annotations.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/base/internal/raw_logging.cc -o s2/third_party/absl/base/internal/raw_logging.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/base/internal/throw_delegate.cc -o s2/third_party/absl/base/internal/throw_delegate.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/numeric/int128.cc -o s2/third_party/absl/numeric/int128.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/ascii.cc -o s2/third_party/absl/strings/ascii.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/internal/memutil.cc -o s2/third_party/absl/strings/internal/memutil.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/match.cc -o s2/third_party/absl/strings/match.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/numbers.cc -o s2/third_party/absl/strings/numbers.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/str_cat.cc -o s2/third_party/absl/strings/str_cat.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/str_split.cc -o s2/third_party/absl/strings/str_split.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/string_view.cc -o s2/third_party/absl/strings/string_view.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/third_party/absl/strings/strip.cc -o s2/third_party/absl/strings/strip.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/util/bits/bit-interleave.cc -o s2/util/bits/bit-interleave.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/util/bits/bits.cc -o s2/util/bits/bits.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/util/coding/coder.cc -o s2/util/coding/coder.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/util/coding/varint.cc -o s2/util/coding/varint.o c++ -std=gnu++11 -I"/usr/pkg/lib/R/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/usr/pkg/lib/R/library/Rcpp/include' -I'/usr/pkg/lib/R/library/wk/include' -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -DIS_LITTLE_ENDIAN -pthread -fpic -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c s2/util/math/exactfloat/exactfloat.cc -o s2/util/math/exactfloat/exactfloat.o s2/util/math/exactfloat/exactfloat.cc: In function 'uint64 BN_ext_get_uint64(const BIGNUM*)': s2/util/math/exactfloat/exactfloat.cc:104:9: error: invalid use of incomplete type 'const BIGNUM {aka const struct bignum_st}' if (bn->top == 0) return 0; ^~ In file included from /usr/include/openssl/bn.h:19:0, from ../inst/include/s2/util/math/exactfloat/exactfloat.h:119, from s2/util/math/exactfloat/exactfloat.cc:18: /usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'BIGNUM {aka struct bignum_st}' typedef struct bignum_st BIGNUM; ^~~~~~~~~ s2/util/math/exactfloat/exactfloat.cc:105:9: error: invalid use of incomplete type 'const BIGNUM {aka const struct bignum_st}' if (bn->top == 1) return BN_get_word(bn); ^~ In file included from /usr/include/openssl/bn.h:19:0, from ../inst/include/s2/util/math/exactfloat/exactfloat.h:119, from s2/util/math/exactfloat/exactfloat.cc:18: /usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'BIGNUM {aka struct bignum_st}' typedef struct bignum_st BIGNUM; ^~~~~~~~~ In file included from ../inst/include/s2/util/math/exactfloat/exactfloat.h:122:0, from s2/util/math/exactfloat/exactfloat.cc:18: s2/util/math/exactfloat/exactfloat.cc:106:18: error: invalid use of incomplete type 'const BIGNUM {aka const struct bignum_st}' S2_DCHECK_EQ(bn->top, 2); ^ ../inst/include/s2/base/logging.h:151:22: note: in definition of macro 'S2_DCHECK' while (false && (condition)) S2NullStream() ^~~~~~~~~ ../inst/include/s2/base/logging.h:164:34: note: in expansion of macro 'S2_DCHECK_OP' #define S2_DCHECK_EQ(val1, val2) S2_DCHECK_OP(==, val1, val2) ^~~~~~~~~~~~ s2/util/math/exactfloat/exactfloat.cc:106:3: note: in expansion of macro 'S2_DCHECK_EQ' S2_DCHECK_EQ(bn->top, 2); ^~~~~~~~~~~~ In file included from /usr/include/openssl/bn.h:19:0, from ../inst/include/s2/util/math/exactfloat/exactfloat.h:119, from s2/util/math/exactfloat/exactfloat.cc:18: /usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'BIGNUM {aka struct bignum_st}' typedef struct bignum_st BIGNUM; ^~~~~~~~~ s2/util/math/exactfloat/exactfloat.cc:107:33: error: invalid use of incomplete type 'const BIGNUM {aka const struct bignum_st}' return (static_cast<uint64>(bn->d[1]) << 32) + bn->d[0]; ^~ In file included from /usr/include/openssl/bn.h:19:0, from ../inst/include/s2/util/math/exactfloat/exactfloat.h:119, from s2/util/math/exactfloat/exactfloat.cc:18: /usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'BIGNUM {aka struct bignum_st}' typedef struct bignum_st BIGNUM; ^~~~~~~~~ s2/util/math/exactfloat/exactfloat.cc:107:52: error: invalid use of incomplete type 'const BIGNUM {aka const struct bignum_st}' return (static_cast<uint64>(bn->d[1]) << 32) + bn->d[0]; ^~ In file included from /usr/include/openssl/bn.h:19:0, from ../inst/include/s2/util/math/exactfloat/exactfloat.h:119, from s2/util/math/exactfloat/exactfloat.cc:18: /usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of 'BIGNUM {aka struct bignum_st}' typedef struct bignum_st BIGNUM; ^~~~~~~~~ *** Error code 1 Stop. make: stopped in /scratch/work/geography/R-s2/work/s2/src ERROR: compilation failed for package 's2' * removing '/scratch/work/geography/R-s2/work/.destdir/usr/pkg/lib/R/library/s2' *** Error code 1 Stop. make[1]: stopped in /tree/pkgsrc/geography/R-s2 *** Error code 1 Stop. make: stopped in /tree/pkgsrc/geography/R-s2