-: 0:Source:test.cpp -: 0:Graph:test.gcno -: 0:Data:test.gcda -: 0:Runs:2 -: 0:Programs:1 -: 1:#include "test.h" -: 2:#include -: 3: -: 4:bool on = false; -: 5:int len = 42; -: 6:double grid[10][10] = {0}; -: 7:const char * hello = "world"; -: 8:const char * world = "hello"; -: 9: function _ZN1A1BEv called 8589934592 returned 100% blocks executed 100% 8589934592: 10:void A::B() {} 8589934592: 10-block 0 -: 11: function _Z7uselessv called 0 returned 0% blocks executed 0% #####: 12:void useless() {} $$$$$: 12-block 0 -: 13: function _Z12more_uselessv called 0 returned 0% blocks executed 0% -: 14:double more_useless() { #####: 15: return 0; $$$$$: 15-block 0 -: 16:} -: 17: function _Z3foov called 2 returned 100% blocks executed 100% -: 18:int foo() { 2: 19: on = true; 2: 20: return 3; 2: 20-block 0 -: 21:} -: 22: function _Z3barv called 0 returned 0% blocks executed 0% -: 23:int bar() { #####: 24: len--; #####: 25: return foo() + 45; $$$$$: 25-block 0 -: 26:} -: 27: function _Z6assignii called 8 returned 100% blocks executed 100% 8: 28:void assign(int ii, int jj) { 8: 29: grid[ii][jj] = (ii+1) * (jj+1); 8: 30:} 8: 30-block 0 -: 31: function _Z15initialize_gridv called 2 returned 100% blocks executed 100% -: 32:void initialize_grid() { 6: 33: for (int ii = 0; ii < 2; ii++) 2: 33-block 0 6: 33-block 1 branch 0 taken 67% branch 1 taken 33% 4: 33-block 2 12: 34: for (int jj = 0; jj < 2; jj++) 4: 34-block 0 12: 34-block 1 branch 0 taken 67% branch 1 taken 33% 8: 34-block 2 8: 35: assign(ii, jj); 8: 35-block 0 4: 35-block 1 2: 36:} 2: 36-block 0 -: 37: function main called 2 returned 100% blocks executed 94% -: 38:int main() { 2: 39: initialize_grid(); -: 40: 2: 41: int a = 2; 2: 42: on = rand() % 2; 2: 43: if (on) { 2: 43-block 0 branch 0 taken 100% branch 1 taken 0% 2: 44: foo(); 2: 45: ++a; 2: 46: } else { 2: 46-block 0 #####: 47: bar(); #####: 48: a += rand(); $$$$$: 48-block 0 -: 49: } -: 50: 22: 51: for (int ii = 0; ii < 10; ++ii) { 2: 51-block 0 22: 51-block 1 branch 0 taken 91% branch 1 taken 9% 20: 51-block 2 20: 52: switch (rand() % 5) { 20: 52-block 0 branch 0 taken 20% branch 1 taken 0% branch 2 taken 10% branch 3 taken 30% branch 4 taken 40% -: 53: case 0: 4: 54: a += rand(); 4: 55: break; 4: 55-block 0 -: 56: case 1: -: 57: case 2: 2: 58: a += rand() / rand(); 2: 59: break; 2: 59-block 0 -: 60: case 3: 6: 61: a -= rand(); 6: 62: break; 6: 62-block 0 -: 63: default: 8: 64: a = -1; 8: 65: } 8: 65-block 0 20: 66: } 20: 66-block 0 -: 67: 2: 68: A thing; 8589934594: 69: for (uint64_t ii = 0; ii < 4294967296; ++ii) 2: 69-block 0 8589934594: 69-block 1 branch 0 taken 99% branch 1 taken 1% 8589934592: 69-block 2 8589934592: 70: thing.B(); 8589934592: 70-block 0 -: 71: 2: 72: return a + 8 + grid[2][3] + len; 2: 72-block 0 -: 73: return more_useless(); -: 74:}