[analyzer] Use the signature of the primary template for issue hash calculation
authorGabor Horvath <xazax.hun@gmail.com>
Mon, 30 Oct 2017 12:16:07 +0000 (12:16 +0000)
committerGabor Horvath <xazax.hun@gmail.com>
Mon, 30 Oct 2017 12:16:07 +0000 (12:16 +0000)
commit404fcd3069def112f95822bbd48e6e3e2b27f0df
tree2f9b816664f09ae590e471d6e89ddcda4a005bc6
parent3bd24f9440b62523577f790993c55f6bd8700fe0
[analyzer] Use the signature of the primary template for issue hash calculation

Now when a template is instantiated more times and there is a bug found in the
instantiations the issue hash will be different for each instantiation even if
every other property of the bug (path, message, location) is the same.

This patch aims to resolve this issue. Note that explicit specializations still
generate different hashes but that is intended.

Differential Revision: https://reviews.llvm.org/D38728

llvm-svn: 316900
clang/lib/StaticAnalyzer/Core/IssueHash.cpp
clang/test/Analysis/bug_hash_test.cpp
clang/test/Analysis/edges-new.mm