Compiling this C++ program extern int bar(int); void foo() { bar(); }
gives me these error messages: foo.cc: In function void foo(): foo.cc:1: error: too few arguments to function int bar(int) foo.cc:2: error: at this point in file When using something like the emacs next-error command, this brings me to line 1 before line 2. That is not useful. With this sort of error the error is almost always at line 2. I actually don't think it's useful to report a message on line 1 at all. The C frontend does not report it. We do not report it if there is a type error in an argument. When calling a function in a class or an overloaded function, we report the function declaration after the error line. If we do want to keep reporting line 1 in this case, I certainly think it should be the second line of the error message, not the first. -- Summary: Bad order of error messages for function call with wrong number of arguments Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ian at airs dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38468