diff options
Diffstat (limited to 'test/tools/llvm-cov/range_based_for.cpp')
-rw-r--r-- | test/tools/llvm-cov/range_based_for.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/tools/llvm-cov/range_based_for.cpp b/test/tools/llvm-cov/range_based_for.cpp new file mode 100644 index 000000000000..3fdb2441399c --- /dev/null +++ b/test/tools/llvm-cov/range_based_for.cpp @@ -0,0 +1,29 @@ +// Make sure that compiler-added local variables (whose line number is zero) +// don't crash llvm-cov. + +// We need shell for cd +// REQUIRES: shell + +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: cd %t +// RUN: cp %s %p/Inputs/range_based_for.gc* . + +// RUN: llvm-cov range_based_for.cpp | FileCheck %s --check-prefix=STDOUT +// STDOUT: File 'range_based_for.cpp' +// STDOUT: Lines executed:100.00% of 5 +// STDOUT: range_based_for.cpp:creating 'range_based_for.cpp.gcov' + +// RUN: FileCheck %s --check-prefix=GCOV < %t/range_based_for.cpp.gcov +// GCOV: -: 0:Runs:1 +// GCOV: -: 0:Programs:1 + +int main(int argc, const char *argv[]) { // GCOV: 1: [[@LINE]]:int main( + int V[] = {1, 2}; // GCOV: 1: [[@LINE]]: int V[] + for (int &I : V) { // GCOV: 10: [[@LINE]]: for ( + } // GCOV: 2: [[@LINE]]: } + return 0; // GCOV: 1: [[@LINE]]: return +} // GCOV: -: [[@LINE]]:} + +// llvm-cov doesn't work on big endian yet +// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc |