diff options
author | Vedant Kumar <vsk@apple.com> | 2017-10-17 06:51:54 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2017-10-17 06:51:54 +0000 |
commit | e5f06a81a870a6c3e1caa5203d9fceed45c1d0e1 (patch) | |
tree | 93162f61ce96e68fdf2a41cea87d179065f19df7 /clang/test/CoverageMapping/logical.cpp | |
parent | 1e0f1f476a4f3d922002969c1bd3513c9808149e (diff) | |
download | bcm5719-llvm-e5f06a81a870a6c3e1caa5203d9fceed45c1d0e1.tar.gz bcm5719-llvm-e5f06a81a870a6c3e1caa5203d9fceed45c1d0e1.zip |
[Coverage] Explicitly mark the l.h.s of && and || (fixes PR33465)
This makes it possible to view sub-line region counts for the l.h.s of
&& and || expressions in coverage reports.
It also fixes PR33465, which shows an example of incorrect coverage
output for an assignment statement containing '||'.
llvm-svn: 315979
Diffstat (limited to 'clang/test/CoverageMapping/logical.cpp')
-rw-r--r-- | clang/test/CoverageMapping/logical.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/clang/test/CoverageMapping/logical.cpp b/clang/test/CoverageMapping/logical.cpp index 198cc60d99b..bc7c785b7b5 100644 --- a/clang/test/CoverageMapping/logical.cpp +++ b/clang/test/CoverageMapping/logical.cpp @@ -1,13 +1,18 @@ // RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name logical.cpp %s | FileCheck %s -int main() { // CHECK: File 0, [[@LINE]]:12 -> [[@LINE+10]]:2 = #0 +int main() { // CHECK: File 0, [[@LINE]]:12 -> [[@LINE+15]]:2 = #0 bool bt = true; bool bf = false; - bool a = bt && bf; // CHECK-NEXT: File 0, [[@LINE]]:18 -> [[@LINE]]:20 = #1 - a = bt && + bool a = bt && bf; // CHECK-NEXT: File 0, [[@LINE]]:12 -> [[@LINE]]:14 = #0 + // CHECK-NEXT: File 0, [[@LINE-1]]:18 -> [[@LINE-1]]:20 = #1 + + a = bt && // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:9 = #0 bf; // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:9 = #2 - a = bf || bt; // CHECK-NEXT: File 0, [[@LINE]]:13 -> [[@LINE]]:15 = #3 - a = bf || + + a = bf || bt; // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:9 = #0 + // CHECK-NEXT: File 0, [[@LINE-1]]:13 -> [[@LINE-1]]:15 = #3 + + a = bf || // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:9 = #0 bt; // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:9 = #4 return 0; } |