xref: /aosp_15_r20/external/llvm/test/tools/llvm-cov/showExpansions.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker // RUN: llvm-cov show %S/Inputs/showExpansions.covmapping -instr-profile %S/Inputs/showExpansions.profdata -dump -show-expansions -filename-equivalence %s 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker 
3*9880d681SAndroid Build Coastguard Worker #define DO_SOMETHING_ELSE() \
4*9880d681SAndroid Build Coastguard Worker   do {                      \
5*9880d681SAndroid Build Coastguard Worker   } while (0)
6*9880d681SAndroid Build Coastguard Worker #define ANOTHER_THING() \
7*9880d681SAndroid Build Coastguard Worker   do {                  \
8*9880d681SAndroid Build Coastguard Worker     if (0) {            \
9*9880d681SAndroid Build Coastguard Worker     }                   \
10*9880d681SAndroid Build Coastguard Worker   } while (0)
11*9880d681SAndroid Build Coastguard Worker 
12*9880d681SAndroid Build Coastguard Worker #define DO_SOMETHING(x)    \
13*9880d681SAndroid Build Coastguard Worker   do {                     \
14*9880d681SAndroid Build Coastguard Worker     if (x)                 \
15*9880d681SAndroid Build Coastguard Worker       DO_SOMETHING_ELSE(); \
16*9880d681SAndroid Build Coastguard Worker     else                   \
17*9880d681SAndroid Build Coastguard Worker       ANOTHER_THING();     \
18*9880d681SAndroid Build Coastguard Worker   } while (0)
19*9880d681SAndroid Build Coastguard Worker // CHECK-DAG: Expansion at line [[@LINE-4]], 7 -> 24
20*9880d681SAndroid Build Coastguard Worker // CHECK-DAG: Expansion at line [[@LINE-3]], 7 -> 20
21*9880d681SAndroid Build Coastguard Worker 
main(int argc,const char * argv[])22*9880d681SAndroid Build Coastguard Worker int main(int argc, const char *argv[]) {
23*9880d681SAndroid Build Coastguard Worker   for (int i = 0; i < 100; ++i)
24*9880d681SAndroid Build Coastguard Worker     DO_SOMETHING(i); // CHECK-DAG: Expansion at line [[@LINE]], 5 -> 17
25*9880d681SAndroid Build Coastguard Worker   return 0;
26*9880d681SAndroid Build Coastguard Worker }
27