The order of the error messages

error: ‘functionname’ declared as an ‘inline’ variable

and

error: ‘UnDefinedClass’ was not declared in this scope

should be swapped.

See following testcase:

struct A {};
int functionname(A foo);

inline int functionname(UnDefinedClass foo)
{
  return 0;
}

which results in the errors:

hikaru:~>g++ -c troep.cc
troep.cc:4: error: ‘functionname’ declared as an ‘inline’ variable
troep.cc:4: error: ‘int functionname’ redeclared as different kind of
symbol
troep.cc:2: error: previous declaration of ‘int functionname(A)’
troep.cc:4: error: ‘UnDefinedClass’ was not declared in this scope

A much better or would be:

troep.cc:4: error: ‘UnDefinedClass’ was not declared in this scope
troep.cc:4: error: ‘functionname’ declared as an ‘inline’ variable
troep.cc:4: error: ‘int functionname’ redeclared as different kind of
symbol
troep.cc:2: error: previous declaration of ‘int functionname(A)’


-- 
           Summary: Confusion error message order 'error: ‘functionname’
                    declared as an ‘inline’ variable'
           Product: gcc
           Version: 4.2.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: carlo at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36659

Reply via email to