diff options
-rw-r--r-- | bench/ChecksumBench.cpp | 11 | ||||
-rw-r--r-- | include/core/SkTemplates.h | 6 |
2 files changed, 10 insertions, 7 deletions
diff --git a/bench/ChecksumBench.cpp b/bench/ChecksumBench.cpp index 4158d94ec1..8226ddd322 100644 --- a/bench/ChecksumBench.cpp +++ b/bench/ChecksumBench.cpp @@ -11,8 +11,7 @@ #include "SkMD5.h" #include "SkRandom.h" #include "SkSHA1.h" - -template<typename T> inline void sk_ignore_unused(const T&) { } +#include "SkTemplates.h" enum ChecksumType { kChecksum_ChecksumType, @@ -57,7 +56,7 @@ protected: case kChecksum_ChecksumType: { for (int i = 0; i < N; i++) { volatile uint32_t result = SkChecksum::Compute(fData, sizeof(fData)); - sk_ignore_unused(result); + sk_ignore_unused_variable(result); } } break; case kMD5_ChecksumType: { @@ -66,7 +65,6 @@ protected: md5.update(reinterpret_cast<uint8_t*>(fData), sizeof(fData)); SkMD5::Digest digest; md5.finish(digest); - sk_ignore_unused(digest); } } break; case kSHA1_ChecksumType: { @@ -75,19 +73,18 @@ protected: sha1.update(reinterpret_cast<uint8_t*>(fData), sizeof(fData)); SkSHA1::Digest digest; sha1.finish(digest); - sk_ignore_unused(digest); } } break; case kCityHash32: { for (int i = 0; i < N; i++) { volatile uint32_t result = SkCityHash::Compute32(reinterpret_cast<char*>(fData), sizeof(fData)); - sk_ignore_unused(result); + sk_ignore_unused_variable(result); } } break; case kCityHash64: { for (int i = 0; i < N; i++) { volatile uint64_t result = SkCityHash::Compute64(reinterpret_cast<char*>(fData), sizeof(fData)); - sk_ignore_unused(result); + sk_ignore_unused_variable(result); } } break; } diff --git a/include/core/SkTemplates.h b/include/core/SkTemplates.h index 42e9943dec..c4ba0e676a 100644 --- a/include/core/SkTemplates.h +++ b/include/core/SkTemplates.h @@ -20,6 +20,12 @@ */ /** + * Marks a local variable as known to be unused (to avoid warnings). + * Note that this does *not* prevent the local variable from being optimized away. + */ +template<typename T> inline void sk_ignore_unused_variable(const T&) { } + +/** * SkTIsConst<T>::value is true if the type T is const. * The type T is constrained not to be an array or reference type. */ |