hanchenye-llvm-project/clang/lib
Douglas Gregor f98d9b60db Improve name lookup for and template instantiation of declaration
references. There are several smallish fixes here:

  - Make sure we look through template parameter scope when
    determining whether we're parsing a nested class (or nested class
    *template*). This makes sure that we delay parsing the bodies of
    inline member functions until after we're out of the outermost
    class (template) scope.
  - Since the bodies of member functions are always parsed
    "out-of-line", even when they were declared in-line, teach
    unqualified name lookup to look into the (semantic) parents.
  - Use the new InstantiateDeclRef to handle the instantiation of a
    reference to a declaration (in DeclRefExpr), which drastically
    simplifies template instantiation for DeclRefExprs.
  - When we're instantiating a ParmVarDecl, it must be in the current
    instantiation scope, so only look there.

Also, remove the #if 0's and FIXME's from the dynarray example, which
now compiles and executes thanks to Anders and Eli.

llvm-svn: 72481
2009-05-27 17:07:49 +00:00
..
AST Convert ObjC qualified type clients over to using iterators. 2009-05-27 16:21:00 +00:00
Analysis Add special cases to retain checker for 'create' methods in QCView, QCRenderer, and CIContext (Apple APIs). 2009-05-20 22:39:57 +00:00
Basic A few more tweaks for Solaris; please correct me if it's wrong somehow. 2009-05-22 01:12:57 +00:00
CodeGen IRgen support for calls to functions that return references to aggregate exressions. 2009-05-27 16:45:02 +00:00
Driver Fix for PR4140: Add the start of a Linux toolchain (basically, just 2009-05-26 07:52:18 +00:00
Frontend Convert ObjC qualified type clients over to using iterators. 2009-05-27 16:21:00 +00:00
Headers Add 'cmp' SSE builtins and get rid of a bunch of other builtins. 2009-05-18 19:16:46 +00:00
Lex Fix a couple of bugs: 2009-05-25 17:16:10 +00:00
Parse Improve name lookup for and template instantiation of declaration 2009-05-27 17:07:49 +00:00
Rewrite Fix for PR2386: distinguish between insertion and replacements in the 2009-05-18 13:56:52 +00:00
Sema Improve name lookup for and template instantiation of declaration 2009-05-27 17:07:49 +00:00
CMakeLists.txt Really fix cmake style builds. 2009-03-24 17:52:34 +00:00
Makefile Stub out some structure for C++ driver. 2009-03-02 19:59:07 +00:00