When I use gcov to measure test coverage of C++ code it reports branches in destructors.
struct Foo { virtual ~Foo() { } }; int main (int argc,
In the destructor, GCC generated a conditial jump for a condition which can never be true (%al is not zero, since it was just assigned a 1):
[...] 29: b8 01 00 00 00 mov $0x1,%eax 2e: 84 c0 test %al,%al 30: 74 30 je 62 <_ZN3FooD0Ev+0x62> [...]