| // Make sure that compiler-added functions (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/copy_block_helper.gc* . |
| |
| // RUN: llvm-cov gcov copy_block_helper.m | FileCheck %s --check-prefix=STDOUT |
| // STDOUT: File 'copy_block_helper.m' |
| // STDOUT: Lines executed:100.00% of 5 |
| // STDOUT: copy_block_helper.m:creating 'copy_block_helper.m.gcov' |
| |
| // RUN: FileCheck %s --check-prefix=GCOV < %t/copy_block_helper.m.gcov |
| // GCOV: -: 0:Runs:1 |
| // GCOV: -: 0:Programs:1 |
| |
| id test_helper(id (^foo)(void)) { return foo(); } // GCOV: 1: [[@LINE]]:id |
| void test(id x) { // GCOV: -: [[@LINE]]:void test |
| test_helper(^{ // GCOV: 2: [[@LINE]]: test_helper |
| return x; // GCOV: 1: [[@LINE]]: return |
| }); // GCOV: -: [[@LINE]]: |
| } // GCOV: 1: [[@LINE]]:} |
| |
| // GCOV: 1: [[@LINE+1]]:int main |
| int main(int argc, const char *argv[]) { test(0); } |
| |
| // llvm-cov doesn't work on big endian yet |
| // XFAIL: powerpc-, powerpc64-, s390x, mips-, mips64-, sparc |