diff options
author | Calixte Denizet <cdenizet@mozilla.com> | 2018-09-21 09:17:06 +0000 |
---|---|---|
committer | Calixte Denizet <cdenizet@mozilla.com> | 2018-09-21 09:17:06 +0000 |
commit | 5713db4c4af8261b5306e1a6eb1a60625d8b4cc7 (patch) | |
tree | 758f0b0ecea16f07d1cffd9ab41a0045fe34b0e1 /clang/test/CodeGen/debug-info-scope-file.c | |
parent | eaf601ab7a1a994da6a25c4dcae4da3ea59a93e6 (diff) | |
download | bcm5719-llvm-5713db4c4af8261b5306e1a6eb1a60625d8b4cc7.tar.gz bcm5719-llvm-5713db4c4af8261b5306e1a6eb1a60625d8b4cc7.zip |
[CodeGen] Add to emitted DebugLoc information about coverage when it's required
Summary:
Some lines have a hit counter where they should not have one.
Cleanup stuff is located to the last line of the body which is most of the time a '}'.
And Exception stuff is added at the beginning of a function and at the end (represented by '{' and '}').
So in such cases, the DebugLoc used in GCOVProfiling.cpp must be marked as not covered.
This patch is a followup of https://reviews.llvm.org/D49915.
Tests in projects/compiler_rt are fixed by: https://reviews.llvm.org/D49917
Reviewers: marco-c, davidxl
Reviewed By: marco-c
Subscribers: dblaikie, cfe-commits, sylvestre.ledru
Differential Revision: https://reviews.llvm.org/D49916
llvm-svn: 342717
Diffstat (limited to 'clang/test/CodeGen/debug-info-scope-file.c')
-rw-r--r-- | clang/test/CodeGen/debug-info-scope-file.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/test/CodeGen/debug-info-scope-file.c b/clang/test/CodeGen/debug-info-scope-file.c index 94123bbc493..cc38449f2b2 100644 --- a/clang/test/CodeGen/debug-info-scope-file.c +++ b/clang/test/CodeGen/debug-info-scope-file.c @@ -5,10 +5,11 @@ // CHECK: ret void, !dbg [[F1_LINE:![0-9]*]] // CHECK: ret void, !dbg [[F2_LINE:![0-9]*]] -// CHECK: [[F1:![0-9]*]] = distinct !DISubprogram(name: "f1",{{.*}} isDefinition: true -// CHECK: [[F1_LINE]] = !DILocation({{.*}}, scope: [[F1]]) -// CHECK: [[F2:![0-9]*]] = distinct !DISubprogram(name: "f2",{{.*}} isDefinition: true -// CHECK: [[F2_LINE]] = !DILocation({{.*}}, scope: [[F2]]) +// CHECK: [[F1:![0-9]*]] = distinct !DISubprogram(name: "f1",{{.*}} +// isDefinition: true CHECK: [[F1_LINE]] = !DILocation({{.*}}, scope: [[F1]], +// isImplicitCode: true) CHECK: [[F2:![0-9]*]] = distinct !DISubprogram(name: +// "f2",{{.*}} isDefinition: true CHECK: [[F2_LINE]] = !DILocation({{.*}}, +// scope: [[F2]], isImplicitCode: true) void f1() { } |