Skip to content
  1. Jan 16, 2011
  2. Jan 15, 2011
  3. Jan 14, 2011
  4. Jan 13, 2011
  5. Jan 12, 2011
  6. Jan 11, 2011
  7. 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
  8. Jan 08, 2011
  9. Jan 07, 2011
Loading