http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49951
--- Comment #20 from asmwarrior <asmwarrior at gmail dot com> --- Hi, all. After the conversation on GDB IRC with GDB developer Jan Kratochvil, a simple test code supplied by Jan in his bug report on http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58123#c0 can easily demonstrate this issue in either GCC 4.8.2 or GCC 4.8.1. class C { public: C() {} ~C() {} int m() { return 0; } }; /* 7 */ int main() { /* 8 */ C a; /* 9 */ C b; /* 10 */ C c; /* 11 */ return a.m() + b.m() + c.m(); /* 12 */ } You will run "next" command back to line 10, and line 9 until go to the end of the function main(). Note: the bug #58123 is another issue, Jan expected that the caret should go back to line 8, but it is not.