http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16093
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement --- Comment #5 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Paolo Carlini from comment #4) > In my opinion we are currently doing pretty well: the columns are ok; we > handle templates with no excess error messages and we specifically talk > about 'template type' for those. Comparing also to current clang, I think > this bug could be closed. It has improved a lot yes. But I think the point of the original reporter is that g++ should make a difference between the case where 'foo' has not been declared in the current context or the case where 'var' has been declared but it is not a type. This way G++ could do *better* than clang. ;-) For the second testcase, we have also improved, since we print the full namespace, but clang has the helpful: test.cc:27:5: error: no type named 'foo' in namespace 'n1::n2'; did you mean 'n3::n2::foo'? But this is now a minor enhancement, not really a bug.