For the below test:
int main() { volatile int foo = 0; int beards = 0; bool cond = foo == 4; int bar = 0; if (cond) beards = 8; else beards = 4; volatile bool face = cond; return face ? beards : 0; }
When in the debugger, on the line "if (cond)", and we step from the
'if' condition, it steps onto the unreached branch ("beards = 8;"), which is
misleading, as described by:
A bit nitty-gritty, but: Can the instruction before the terminator be a debug info intrinsic?
If so, I think the line location you pick be different if you switch from -gline-tables-only versus -g.