Skip to content
  1. May 27, 2009
    • Douglas Gregor's avatar
      Improve name lookup for and template instantiation of declaration · f98d9b60
      Douglas Gregor authored
      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
      f98d9b60
    • Douglas Gregor's avatar
      Initial stab at a generalized operation for determining the · 51783313
      Douglas Gregor authored
      instantiation of a declaration from the template version (or version
      that lives in a template) and a given set of template arguments. This
      needs much, much more testing, but it suffices for simple examples
      like
      
        typedef T* iterator;
        iterator begin();
      
      llvm-svn: 72461
      51783313
    • Douglas Gregor's avatar
      408c619a
  2. May 23, 2009
  3. May 22, 2009
  4. May 21, 2009
  5. May 20, 2009
  6. May 19, 2009
  7. May 16, 2009
  8. May 15, 2009
Loading