Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
#
1c99f650 |
| 15-Mar-2022 |
Igor Kudrin <ikudrin@accesssoftek.com> |
[llvm-cov gcov] Fix calculating coverage of template functions
Template functions share the same lines in source files, so the common container of lines' properties cannot be used to calculate the c
[llvm-cov gcov] Fix calculating coverage of template functions
Template functions share the same lines in source files, so the common container of lines' properties cannot be used to calculate the coverage statistics of individual functions.
> cat tmpl.cpp template <int N> int test() { return N; } int main() { return test<1>() + test<2>(); } > clang++ --coverage tmpl.cpp -o tmpl > ./tmpl > llvm-cov gcov tmpl.cpp -f ... Function '_Z4testILi1EEiv' Lines executed:100.00% of 1
Function '_Z4testILi2EEiv' Lines executed:-nan% of 0 ... > llvm-cov-patched gcov tmpl.cpp -f ... Function '_Z4testILi1EEiv' Lines executed:100.00% of 1
Function '_Z4testILi2EEiv' Lines executed:100.00% of 1 ...
Differential Revision: https://reviews.llvm.org/D121390
show more ...
|