diff options
author | Davide Italiano <davide@freebsd.org> | 2016-10-17 20:05:35 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-10-17 20:05:35 +0000 |
commit | 84bd58e915db2495ac91965f73b31e4f7d5244f4 (patch) | |
tree | f141c9defceebfd711483cfe3f5c3bc68a758c5a /clang/test/CodeGen/code-coverage.c | |
parent | 119a998ae3895ff360fc2ddb32f387927dbb2a33 (diff) | |
download | bcm5719-llvm-84bd58e915db2495ac91965f73b31e4f7d5244f4.tar.gz bcm5719-llvm-84bd58e915db2495ac91965f73b31e4f7d5244f4.zip |
[opt] Strip coverage if debug info is not present.
If -coverage is passed, but -g is not, clang populates the PassManager
pipeline with StripSymbols(debugOnly = true).
The stripSymbol pass therefore scans the list of named metadata,
drops !llvm.dbg.cu, but leaves !llvm.gcov and !0 (the compileUnit MD)
around. The verifier runs, and finds out that there's a CU not listed
in !llvm.dbg.cu (as it was previously dropped) -> crash.
When we strip debug info, so, check if there's coverage data,
and strip it as well, in order to avoid pending metadata left around.
Differential Revision: https://reviews.llvm.org/D25689
llvm-svn: 284418
Diffstat (limited to 'clang/test/CodeGen/code-coverage.c')
0 files changed, 0 insertions, 0 deletions