diff options
author | Erik Pilkington <erik.pilkington@gmail.com> | 2018-10-15 22:03:53 +0000 |
---|---|---|
committer | Erik Pilkington <erik.pilkington@gmail.com> | 2018-10-15 22:03:53 +0000 |
commit | fbca8d5495f27268c18f8c7d0d318730d77ed34c (patch) | |
tree | 47be71208cda6cccad8eb4f245fa2ce60b98585e /libcxxabi | |
parent | 2909a3d9d02132583137374114175cb982892320 (diff) | |
download | bcm5719-llvm-fbca8d5495f27268c18f8c7d0d318730d77ed34c.tar.gz bcm5719-llvm-fbca8d5495f27268c18f8c7d0d318730d77ed34c.zip |
NFC: Fix a -Wsign-conversion warning
llvm-svn: 344564
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/src/cxa_demangle.cpp | 16 |
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: |