llvm/test/tools/llvm-cov/showExpansions.cpp
Justin Bogner dcd8562eb7 llvm-cov: Prevent a test from matching its own check lines
Since llvm-cov shows the source file in its output, be careful about
potentially matching the check lines themselves.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218138 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-19 19:04:08 +00:00

30 lines
918 B
C++

// RUN: llvm-cov show %S/Inputs/showExpansions.covmapping -instr-profile %S/Inputs/showExpansions.profdata -dump -show-expansions -filename-equivalence %s 2>&1 | FileCheck %s
#define DO_SOMETHING_ELSE() \
do { \
} while (0)
#define ANOTHER_THING() \
do { \
if (0) { \
} \
} while (0)
#define DO_SOMETHING(x) \
do { \
if (x) \
DO_SOMETHING_ELSE(); \
else \
ANOTHER_THING(); \
} while (0)
// CHECK-DAG: Expansion at line [[@LINE-4]], 7 -> 24
// CHECK-DAG: Expansion at line [[@LINE-3]], 7 -> 20
int main(int argc, const char *argv[]) {
for (int i = 0; i < 100; ++i)
DO_SOMETHING(i); // CHECK-DAG: Expansion at line [[@LINE]], 5 -> 17
return 0;
}
// llvm-cov doesn't work on big endian yet
// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc