=> 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