Skip to content
  1. Jan 15, 2011
  2. Jan 14, 2011
  3. Jan 13, 2011
  4. Jan 12, 2011
  5. Jan 11, 2011
  6. Jan 10, 2011
    • Douglas Gregor's avatar
      Implement more of C++0x [temp.arg.explicit]p9, allowing extension of · 48d24115
      Douglas Gregor authored
      pack expansions in template argument lists and function parameter
      lists. The implementation of this paragraph should be complete
      *except* for cases where we're substituting into one of the unexpanded
      packs in a pack expansion; that's a general issue I haven't solved yet.
      
      llvm-svn: 123188
      48d24115
    • Douglas Gregor's avatar
      Repent for my copy-and-paste sins, factoring out the code that forms · b94a6177
      Douglas Gregor authored
      argument packs from a set of deduced arguments, then checks that those
      argument packs match previously-deduced argument packs.
      
      llvm-svn: 123182
      b94a6177
    • Douglas Gregor's avatar
      Factor out the code to set up template argument deduction for a set of · a8bd0d94
      Douglas Gregor authored
      template argument packs. This also ensures that explicitly-specified
      template arguments get properly represented in those cases.
      
      llvm-svn: 123180
      a8bd0d94
    • Douglas Gregor's avatar
      Work-in-progress implementation of C++0x [temp.arg.explicit]p9, which · a8bac7f5
      Douglas Gregor authored
      allows an argument pack determines via explicit specification of
      function template arguments to be extended by further, deduced
      arguments. For example:
      
      template<class ... Types> void f(Types ... values);
      void g() { 
        f<int*, float*>(0, 0, 0);   // Types is deduced to the sequence int*, float*, int
      }
      
      There are a number of FIXMEs in here that indicate places where we
      need to implement + test retained expansions, plus a number of other
      places in deduction where we need to correctly cope with the
      explicitly-specified arguments when deducing an argument
      pack. Furthermore, it appears that the RecursiveASTVisitor needs to be
      auditied; it's missing some traversals (especially w.r.t. template
      arguments) that cause it not to find unexpanded parameter packs when
      it should.
      
      The good news, however, is that the tr1::tuple implementation now
      works fully, and the tr1::bind example (both from N2080) is actually
      working now. 
      
      llvm-svn: 123163
      a8bac7f5
  7. Jan 08, 2011
  8. Jan 07, 2011
  9. Jan 06, 2011
Loading