hanchenye-llvm-project/clang/test/CXX
Douglas Gregor 15e5602e59 Improve diagnostics when the parser encounters a declarator with an
unknown type name, e.g.,

  foo::bar x;

when "bar" does not refer to a type in "foo". 

With this change, the parser now calls into the action to perform
diagnostics and can try to recover by substituting in an appropriate
type. For example, this allows us to easily diagnose some missing
"typename" specifiers, which we now do:

  test/SemaCXX/unknown-type-name.cpp:29:1: error: missing 'typename'
        prior to dependent type name 'A<T>::type'
  A<T>::type A<T>::f() { return type(); }
  ^~~~~~~~~~
  typename 

Fixes PR3990.

llvm-svn: 84053
2009-10-13 23:27:22 +00:00
..
basic Qualified lookup through using declarations. Diagnose a new type of ambiguity. 2009-10-10 05:48:19 +00:00
class Improve diagnostics when the parser encounters a declarator with an 2009-10-13 23:27:22 +00:00
class.derived/class.virtual When a member reference expression includes a qualifier on the member 2009-08-26 22:36:53 +00:00
dcl.dcl Add CheckCallReturnType and start using it for regular call expressions. This will improve error messages. For 2009-10-09 23:51:55 +00:00
dcl.decl/dcl.meaning When creating function types, remove any top-level CVR qualifications in the function type argument types. 2009-09-16 23:47:08 +00:00
expr Tests for C++ [expr], from James Porter! 2009-10-08 22:38:14 +00:00
lex/lex.trigraph Tests for C++ lex.trigraph, patch by Mats! 2009-08-23 08:22:33 +00:00
over Update for LLVM API change. 2009-07-27 21:00:51 +00:00
temp Unify our diagnostic printing for errors of the form, "we didn't like 2009-10-13 21:16:44 +00:00