/* Check that execution counts and branch probabilities for various C constructs are reported correctly by gcov. */ #include /* { dg-options "-fprofile-arcs -ftest-coverage -fno-exceptions" } */ /* { dg-do run { target native } } */ class foo { public: foo() { printf("foo()\n"); }; ~foo() { printf("~foo()\n"); }; void method(void) { printf("method()\n"); }; }; int func(int i, int j) __attribute__((noinline)); int func(int i, int j){ if (j) { printf("unreachable\n"); return 3; } foo f; if (i == 1) { f.method(); f.method(); } else { f.method(); printf("unreachable\n"); return 2; /* count(#####) */ } f.method(); return 0; } int main() { return func(1, 0); } /* { dg-final { run-gcov gcov-4.C } } */