]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
wide-int.h (wi::int_traits <long>, [...]): Provide specializations.
authorRichard Biener <rguenther@suse.de>
Mon, 26 May 2014 14:07:42 +0000 (14:07 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 26 May 2014 14:07:42 +0000 (14:07 +0000)
2014-05-26  Richard Biener  <rguenther@suse.de>

* wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
wi::int_traits <long long>, wi::int_traits <unsigned long long>):
Provide specializations.
(wi::int_traits <HOST_WIDE_INT>,
wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.

From-SVN: r210933

gcc/ChangeLog
gcc/wide-int.h

index ac70e16b2c9d71977905dbcb5f2fe8c7c2e1183a..c696a516475fc5a1184ffeb697e0f3a5bf2c0bc1 100644 (file)
@@ -1,3 +1,11 @@
+2014-05-26  Richard Biener  <rguenther@suse.de>
+
+       * wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
+       wi::int_traits <long long>, wi::int_traits <unsigned long long>):
+       Provide specializations.
+       (wi::int_traits <HOST_WIDE_INT>,
+       wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
+
 2014-05-26  Alan Modra  <amodra@gmail.com>
 
        PR target/61098
index d5ab4281869f30196f9583433bf3e3b3dbaf7db4..bb51ed2c82a299dda0c4e0e23e5b5b534ad03e5b 100644 (file)
@@ -1446,12 +1446,22 @@ namespace wi
     : public primitive_int_traits <unsigned int, false> {};
 
   template <>
-  struct int_traits <HOST_WIDE_INT>
-    : public primitive_int_traits <HOST_WIDE_INT, true> {};
+  struct int_traits <long>
+    : public primitive_int_traits <long, true> {};
 
   template <>
-  struct int_traits <unsigned HOST_WIDE_INT>
-    : public primitive_int_traits <unsigned HOST_WIDE_INT, false> {};
+  struct int_traits <unsigned long>
+    : public primitive_int_traits <unsigned long, false> {};
+
+#if defined HAVE_LONG_LONG
+  template <>
+  struct int_traits <long long>
+    : public primitive_int_traits <long long, true> {};
+
+  template <>
+  struct int_traits <unsigned long long>
+    : public primitive_int_traits <unsigned long long, false> {};
+#endif
 }
 
 namespace wi