diff --git a/include/mapbox/geometry/point.hpp b/include/mapbox/geometry/point.hpp
index da8d677..4d49ba5 100644
--- a/include/mapbox/geometry/point.hpp
+++ b/include/mapbox/geometry/point.hpp
@@ -21,8 +21,10 @@ struct point
     T y;
 };
 
+#if defined(__GNUC__)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wfloat-equal"
+#endif
 
 template <typename T>
 constexpr bool operator==(point<T> const& lhs, point<T> const& rhs)
@@ -30,7 +32,9 @@ constexpr bool operator==(point<T> const& lhs, point<T> const& rhs)
     return lhs.x == rhs.x && lhs.y == rhs.y;
 }
 
+#if defined(__GNUC__)
 #pragma GCC diagnostic pop
+#endif
 
 template <typename T>
 constexpr bool operator!=(point<T> const& lhs, point<T> const& rhs)
