https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68615
Bug ID: 68615 Summary: Unhelpful location when missing a semi-colon on a function declaration at the end of a header Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- # 1 "foo.cc" # 1 "foo.h" 1 int f() # 2 "foo.cc" 2 int main() { f(); } This gives: foo.cc:3:1: error: expected initializer before βintβ int main() ^ We fixed the case where we're missing ; after a class definition so the error location is the end of the class, but for this case we still give the location as the start of main. Ideally it would be: foo.h:1:7: error: expected β;β after function declaration Related to Bug 56084, but that is about error recovery following the missing ; and this is just about the location.