llvm-project/clang/lib
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
..
AST fix test/CodeGen/statements.c on 32-bit hosts. 2009-10-13 22:12:09 +00:00
Analysis retain/release checker: retained objects passed to pthread_create (as 2009-10-13 22:55:33 +00:00
Basic Unify our diagnostic printing for errors of the form, "we didn't like 2009-10-13 21:16:44 +00:00
CodeGen Check void type before using replaceAllUsesWith(). 2009-10-13 22:59:11 +00:00
Driver -funit-at-a-time is the default however some current makefiles pass -fno-unit-at-a-time which is ignored by GCC, we should warn about this not error out. 2009-10-13 16:41:34 +00:00
Frontend Fixes pth.c on Windows. 2009-10-13 18:51:32 +00:00
Headers Make our char vector types not be explicitly signed to match GCC and to fix compilation with C++ and -fno-lax-vector-conversions 2009-09-18 19:18:19 +00:00
Index Installation of Clang libraries and headers, from Axel Naumann! 2009-10-08 22:15:31 +00:00
Lex This fixes support for complex literals, reworked to avoid a goto, and 2009-10-08 22:55:36 +00:00
Parse Improve diagnostics when the parser encounters a declarator with an 2009-10-13 23:27:22 +00:00
Rewrite Installation of Clang libraries and headers, from Axel Naumann! 2009-10-08 22:15:31 +00:00
Sema Improve diagnostics when the parser encounters a declarator with an 2009-10-13 23:27:22 +00:00
CMakeLists.txt Introduce the 'Index' library. 2009-07-05 22:22:19 +00:00
Makefile Introduce the 'Index' library. 2009-07-05 22:22:19 +00:00