首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >llvm cov:未实例化函数的统计信息

llvm cov:未实例化函数的统计信息
EN

Stack Overflow用户
提问于 2019-08-02 18:13:12
回答 1查看 278关注 0票数 3

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

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 20:27:47

不幸的是,目前还没有。这是llvm cov中缺少的功能。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57331600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档