mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
cd7a97bae8
A while ago llvm-cov gained support for clang's instrumentation based profiling in addition to its gcov support, and subcommands were added to choose which behaviour to use. When no subcommand was specified, we fell back to gcov compatibility with a warning that a subcommand would be required in the future. Now, we require the subcommand. Note that if the basename of llvm-cov is gcov (via symlink or hardlink, for example), we still use the gcov compatible behaviour with no subcommand required. llvm-svn: 233132
33 lines
1.1 KiB
Matlab
33 lines
1.1 KiB
Matlab
// 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: powerpc64-, s390x, mips-, mips64-, sparc
|