NoneLlvm -cov: статистика по необработанным функциям
Я начинаю работать с llvm-cov
производить статистику покрытия для моего проекта. llvm-cov
имеет несколько категорий: покрытие линий, покрытие функций и покрытие регионов. Но все они рассматривают только экземпляры функций, функции которых не создаются, просто игнорируются. Таким образом, легко получить почти 100% -ное покрытие для файлов с низким процентом созданных функций, а это не то, что я хочу. Можно ли сделать llvm-cov
рассмотреть даже непредусмотренные функции или заставить его производить отдельную статистику покрытия?
0 ответов
На данный момент, к сожалению, нет. Эта возможность отсутствует в llvm-cov.
Причина этого в том, что clang не генерирует код для неспециализированных шаблонов, а логика генерации покрытия зависит от кода, генерирующего clang для функции. Это странное ограничение. У компилятора достаточно информации для описания этих шаблонов.
Изменить: Конечно, еще один момент, который следует учитывать, заключается в том, что единицы трансляции С ++, как правило, содержат абсолютно огромное количество неспециализированных / неустановленных шаблонов, и если бы компилятор должен был генерировать области сопоставления покрытия для каждого из них, время компиляции и двоичный размер, вероятно, регрессировали бы массово.