* Justin Paston-Cooper: > On Tue, 19 Mar 2019 at 21:29, Florian Weimer <f...@deneb.enyo.de> wrote: >> >> * Justin Paston-Cooper: >> >> > Tom Tromey suggested in that thread that this would be quite easy on >> > gdb's side if gcc indicates exit locations in the DWARF data, for >> > instance in the C case, it would indicate the locations of return >> > statements. On a related note, he mentions that the "finish" command >> > does not work for inlined functions because the compiler does not emit >> > the required information. >> >> What about calls to noreturn functions? I assume they would need >> breakpoints as well. It could be tricky if those are only called >> indirectly, I assume. > > Couldn't the brace following the final line of an inlined noreturn > function be viewed as its exit point and be indicated in the DWARF > information accordingly?
That breakpoint would never be reached. > Is the problem that each entry in the line > number table has to point to a specific statement? Could you explain > what you mean with "indirectly"? In C++, a function might return to the caller by calling *another* function which throws an exception. Similarly, in C, a function could call a function that in turn calls longjmp. Or more prosaically, a called function might call the exit function. I'm just wondering if such abnormal exits should be covered as well, and calling a noreturn function could be a reasonable indicator.