As mentioned in http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00115.html for -O0 we sometimes, e.g. for return without value or for C++ NRV optimized return don't emit any insns with the location of the return stmt, which results in worse debug experience.
-- Summary: goto_locus lost at -O0 during cfg cleanup Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44375