diff options
-rw-r--r-- | compilerplugins/clang/implicitboolconversion.cxx | 6 | ||||
-rw-r--r-- | include/o3tl/hash_combine.hxx | 8 |
2 files changed, 4 insertions, 10 deletions
diff --git a/compilerplugins/clang/implicitboolconversion.cxx b/compilerplugins/clang/implicitboolconversion.cxx index 7e708eb49843..14574e3cd420 100644 --- a/compilerplugins/clang/implicitboolconversion.cxx +++ b/compilerplugins/clang/implicitboolconversion.cxx @@ -907,12 +907,6 @@ void ImplicitBoolConversion::reportWarning(ImplicitCastExpr const * expr) { } } } - - // ignore template magic - StringRef aFileName = getFilenameOfLocation(compiler.getSourceManager().getSpellingLoc(compat::getBeginLoc(expr))); - if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/include/o3tl/hash_combine.hxx")) - return; - report( DiagnosticsEngine::Warning, "implicit conversion (%0) from %1 to %2", compat::getBeginLoc(expr)) diff --git a/include/o3tl/hash_combine.hxx b/include/o3tl/hash_combine.hxx index 17419b3e2c0f..139ee981699c 100644 --- a/include/o3tl/hash_combine.hxx +++ b/include/o3tl/hash_combine.hxx @@ -11,15 +11,15 @@ namespace o3tl { -template <typename T, typename N, std::enable_if_t<(sizeof(N) == 4), bool> = false> -inline void hash_combine(N& nSeed, T const& nValue) +template <typename T, typename N> +inline std::enable_if_t<(sizeof(N) == 4)> hash_combine(N& nSeed, T const& nValue) { static_assert(sizeof(nSeed) == 4); nSeed ^= std::hash<T>{}(nValue) + 0x9E3779B9u + (nSeed << 6) + (nSeed >> 2); } -template <typename T, typename N, std::enable_if_t<(sizeof(N) == 8), bool> = false> -inline void hash_combine(N& nSeed, T const& nValue) +template <typename T, typename N> +inline std::enable_if_t<(sizeof(N) == 8)> hash_combine(N& nSeed, T const& nValue) { static_assert(sizeof(nSeed) == 8); nSeed ^= std::hash<T>{}(nValue) + 0x9E3779B97F4A7C15llu + (nSeed << 12) + (nSeed >> 4); |