gpt4 book ai didi

code-coverage - llvm-cov:未实例化函数的统计信息

转载 作者:行者123 更新时间:2023-12-05 06:25:01 24 4
gpt4 key购买 nike

我开始使用 llvm-cov 为我的项目生成覆盖统计数据。 llvm-cov有几类:行覆盖、函数覆盖和区域覆盖。但是他们都只考虑实例化的函数,没有实例化的函数会被简单地忽略。这样,对于实例化函数百分比较低的文件,很容易接近 100% 的覆盖率,这不是我想要的。是否有可能使 llvm-cov 考虑甚至未实例化的函数或使其产生单独的覆盖率统计信息?

最佳答案

很遗憾,目前还没有。这是 llvm-cov 中缺少的功能。

这样做的原因是 clang 不会为非专用模板发出任何代码,并且覆盖生成逻辑依赖于 clang 为函数发出代码。这是一个奇怪的限制。编译器确实有足够的信息来描述这些模板。

编辑:当然,要考虑的另一点是 C++ 翻译单元往往包含绝对大量的未专门化/未实例化的模板,如果编译器要为每个模板发出覆盖映射区域,编译时和二进制大小可能会大幅倒退。

关于code-coverage - llvm-cov:未实例化函数的统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57331600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com