summaryrefslogtreecommitdiff
path: root/libcxxabi
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2018-10-15 22:03:53 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2018-10-15 22:03:53 +0000
commit9911cc1284170e4fd292c24c671b5d1d7fc5d47a (patch)
tree01fada7405629adf92b5e3d1249328ffd17d64b1 /libcxxabi
parent62b3daf040fff307e75f6ca23118db3a55cd5430 (diff)
NFC: Fix a -Wsign-conversion warning
Diffstat (limited to 'libcxxabi')
-rw-r--r--libcxxabi/src/cxa_demangle.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/libcxxabi/src/cxa_demangle.cpp b/libcxxabi/src/cxa_demangle.cpp
index a9a7050000d..5de2dbad8a1 100644
--- a/libcxxabi/src/cxa_demangle.cpp
+++ b/libcxxabi/src/cxa_demangle.cpp
@@ -114,14 +114,20 @@ struct DumpVisitor {
printStr("}");
--Depth;
}
+
// Overload used when T is exactly 'bool', not merely convertible to 'bool'.
- template<typename T, T * = (bool*)nullptr>
- void print(T B) {
- printStr(B ? "true" : "false");
+ void print(bool B) { printStr(B ? "true" : "false"); }
+
+ template <class T>
+ typename std::enable_if<std::is_unsigned<T>::value>::type print(T N) {
+ fprintf(stderr, "%llu", (unsigned long long)N);
}
- void print(size_t N) {
- fprintf(stderr, "%zu", N);
+
+ template <class T>
+ typename std::enable_if<std::is_signed<T>::value>::type print(T N) {
+ fprintf(stderr, "%lld", (long long)N);
}
+
void print(ReferenceKind RK) {
switch (RK) {
case ReferenceKind::LValue: