summaryrefslogtreecommitdiff
path: root/gcc/wide-int.h
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-26 14:07:42 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-26 14:07:42 +0000
commitc3fc0093289bb2312ccc8d82478951d80dfd73d3 (patch)
tree2ebc71da6aa43cdc4e961adcdedc34a493d0bc17 /gcc/wide-int.h
parentc159ef5e757419dc8c9ee05f2c8a2086c23cf3e1 (diff)
downloadgcc-c3fc0093289bb2312ccc8d82478951d80dfd73d3.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210933 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/wide-int.h')
-rw-r--r--gcc/wide-int.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/gcc/wide-int.h b/gcc/wide-int.h
index d5ab4281869..bb51ed2c82a 100644
--- a/gcc/wide-int.h
+++ b/gcc/wide-int.h
@@ -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