------- Comment #5 from reichelt at gcc dot gnu dot org 2007-07-23 20:55 ------- On mainline the diagnostic for the second testcase got even worse:
bug.cc:3: error: no 'void A::foo()' member function declared in class 'A' bug.cc:3: error: prototype for 'void A::foo()' does not match any in class 'A' bug.cc:3: error: candidate is: void A::foo() bug.cc:3: error: 'void A::foo()' cannot be overloaded bug.cc:3: error: with 'void A::foo()' bug.cc:3: error: declaration of 'void A::foo()' outside of class is not definition bug.cc:3: error: template definition of non-template 'void A::foo()' -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27211