xref: /aosp_15_r20/external/llvm/test/tools/llvm-cov/Inputs/test.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker #include "test.h"
2*9880d681SAndroid Build Coastguard Worker #include <cstdlib>
3*9880d681SAndroid Build Coastguard Worker 
4*9880d681SAndroid Build Coastguard Worker bool on = false;
5*9880d681SAndroid Build Coastguard Worker int len = 42;
6*9880d681SAndroid Build Coastguard Worker double grid[10][10] = {0};
7*9880d681SAndroid Build Coastguard Worker const char * hello = "world";
8*9880d681SAndroid Build Coastguard Worker const char * world = "hello";
9*9880d681SAndroid Build Coastguard Worker 
B()10*9880d681SAndroid Build Coastguard Worker void A::B() {}
11*9880d681SAndroid Build Coastguard Worker 
useless()12*9880d681SAndroid Build Coastguard Worker void useless() {}
13*9880d681SAndroid Build Coastguard Worker 
more_useless()14*9880d681SAndroid Build Coastguard Worker double more_useless() {
15*9880d681SAndroid Build Coastguard Worker   return 0;
16*9880d681SAndroid Build Coastguard Worker }
17*9880d681SAndroid Build Coastguard Worker 
foo()18*9880d681SAndroid Build Coastguard Worker int foo() {
19*9880d681SAndroid Build Coastguard Worker   on = true;
20*9880d681SAndroid Build Coastguard Worker   return 3;
21*9880d681SAndroid Build Coastguard Worker }
22*9880d681SAndroid Build Coastguard Worker 
bar()23*9880d681SAndroid Build Coastguard Worker int bar() {
24*9880d681SAndroid Build Coastguard Worker   len--;
25*9880d681SAndroid Build Coastguard Worker   return foo() + 45;
26*9880d681SAndroid Build Coastguard Worker }
27*9880d681SAndroid Build Coastguard Worker 
assign(int ii,int jj)28*9880d681SAndroid Build Coastguard Worker void assign(int ii, int jj) {
29*9880d681SAndroid Build Coastguard Worker   grid[ii][jj] = (ii+1) * (jj+1);
30*9880d681SAndroid Build Coastguard Worker }
31*9880d681SAndroid Build Coastguard Worker 
initialize_grid()32*9880d681SAndroid Build Coastguard Worker void initialize_grid() {
33*9880d681SAndroid Build Coastguard Worker   for (int ii = 0; ii < 2; ii++)
34*9880d681SAndroid Build Coastguard Worker     for (int jj = 0; jj < 2; jj++)
35*9880d681SAndroid Build Coastguard Worker       assign(ii, jj);
36*9880d681SAndroid Build Coastguard Worker }
37*9880d681SAndroid Build Coastguard Worker 
main()38*9880d681SAndroid Build Coastguard Worker int main() {
39*9880d681SAndroid Build Coastguard Worker   initialize_grid();
40*9880d681SAndroid Build Coastguard Worker 
41*9880d681SAndroid Build Coastguard Worker   int a = 2;
42*9880d681SAndroid Build Coastguard Worker   on = rand() % 2;
43*9880d681SAndroid Build Coastguard Worker   if (on) {
44*9880d681SAndroid Build Coastguard Worker     foo();
45*9880d681SAndroid Build Coastguard Worker     ++a;
46*9880d681SAndroid Build Coastguard Worker   } else {
47*9880d681SAndroid Build Coastguard Worker     bar();
48*9880d681SAndroid Build Coastguard Worker     a += rand();
49*9880d681SAndroid Build Coastguard Worker   }
50*9880d681SAndroid Build Coastguard Worker 
51*9880d681SAndroid Build Coastguard Worker   for (int ii = 0; ii < 10; ++ii) {
52*9880d681SAndroid Build Coastguard Worker     switch (rand() % 5) {
53*9880d681SAndroid Build Coastguard Worker       case 0:
54*9880d681SAndroid Build Coastguard Worker         a += rand();
55*9880d681SAndroid Build Coastguard Worker         break;
56*9880d681SAndroid Build Coastguard Worker       case 1:
57*9880d681SAndroid Build Coastguard Worker       case 2:
58*9880d681SAndroid Build Coastguard Worker         a += rand() / rand();
59*9880d681SAndroid Build Coastguard Worker         break;
60*9880d681SAndroid Build Coastguard Worker       case 3:
61*9880d681SAndroid Build Coastguard Worker         a -= rand();
62*9880d681SAndroid Build Coastguard Worker         break;
63*9880d681SAndroid Build Coastguard Worker       default:
64*9880d681SAndroid Build Coastguard Worker         a = -1;
65*9880d681SAndroid Build Coastguard Worker     }
66*9880d681SAndroid Build Coastguard Worker   }
67*9880d681SAndroid Build Coastguard Worker 
68*9880d681SAndroid Build Coastguard Worker   A thing;
69*9880d681SAndroid Build Coastguard Worker   for (uint64_t ii = 0; ii < 4294967296; ++ii)
70*9880d681SAndroid Build Coastguard Worker     thing.B();
71*9880d681SAndroid Build Coastguard Worker 
72*9880d681SAndroid Build Coastguard Worker   return a + 8 + grid[2][3] + len;
73*9880d681SAndroid Build Coastguard Worker   return more_useless();
74*9880d681SAndroid Build Coastguard Worker }
75