[all-commits] [llvm/llvm-project] 406e81: [gcov] Ignore blocks from another file
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Aug 14 10:30:27 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 406e81b79d26dae6838cc69d10a3e22635da09ef
https://github.com/llvm/llvm-project/commit/406e81b79d26dae6838cc69d10a3e22635da09ef
Author: Fangrui Song <i at maskray.me>
Date: 2023-08-14 (Mon, 14 Aug 2023)
Changed paths:
A compiler-rt/test/profile/Posix/gcov-file-change.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
Log Message:
-----------
[gcov] Ignore blocks from another file
Constructs such as inline variables, #line, and #include can create
lexical blocks with a different filename.
GCOVProfiling and llvm-cov gcov currently don't handle such cases (see
GCOVLines::writeOut and GCOVFile::readGCNO) and would incorrectly
attribute the line number to the current file.
For now, ignore such blocks. Missing line execution counts is better
than wrong ones.
---
As a workaround that Apple targets don't use -mconstructor-aliases yet,
allow line execution count 4 on the A::A line (1f34e282e8066281eb1447e21e44a2a2e9983e79).
More information about the All-commits
mailing list