]> git.saurik.com Git - wxWidgets.git/commitdiff
Silence Clang warning about numeric_limits<> specialization.
authorVáclav Slavík <vslavik@fastmail.fm>
Sun, 31 Jul 2011 13:25:33 +0000 (13:25 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sun, 31 Jul 2011 13:25:33 +0000 (13:25 +0000)
libstdc++ (which is used by Clang) defines numeric_limits<> as a struct
and Clang issues a warning about our specialization that uses 'class'.
As libstdc++ developers have no intention of fixing this, silence the
Clang warning by using 'struct' for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/longlong.h

index 7c76d5f6778ba3fe641e50c08c112c088fe25ac9..19c580110e25dccaf721f61e413bfcd320b5070a 100644 (file)
@@ -1097,15 +1097,15 @@ WXDLLIMPEXP_BASE class wxTextInputStream &operator>>(class wxTextInputStream &st
 namespace std
 {
 
 namespace std
 {
 
-template<> class numeric_limits<wxLongLong>
-    : public numeric_limits<wxLongLong_t>
-{
-};
-
-template<> class numeric_limits<wxULongLong>
-    : public numeric_limits<wxULongLong_t>
-{
-};
+#ifdef __clang__
+  // libstdc++ (used by Clang) uses struct for numeric_limits; unlike gcc, clang
+  // warns about this
+  template<> struct numeric_limits<wxLongLong>  : public numeric_limits<wxLongLong_t> {};
+  template<> struct numeric_limits<wxULongLong> : public numeric_limits<wxULongLong_t> {};
+#else
+  template<> class numeric_limits<wxLongLong>  : public numeric_limits<wxLongLong_t> {};
+  template<> class numeric_limits<wxULongLong> : public numeric_limits<wxULongLong_t> {};
+#endif
 
 } // namespace std
 
 
 } // namespace std