Skip to content
  1. Jan 13, 2011
  2. Jan 12, 2011
  3. Jan 11, 2011
  4. Jan 10, 2011
    • Rafael Espindola's avatar
      Add unnamed_addr when creating artificial string globals. For example, in · b7f60e34
      Rafael Espindola authored
      static const char foo[] = "foo";
      static const char *bar = "bar";
      
      the global created to hold "bar" will have it, but foo will not.
      
      llvm-svn: 123192
      b7f60e34
    • 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
      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
    • Zhongxing Xu's avatar
      5609e213
  5. Jan 08, 2011
    • Chandler Carruth's avatar
      Remove a kludge from analysis based warnings that used to detect · b35635e9
      Chandler Carruth authored
      temporaries with no-return destructors. The CFG now properly supports
      temporaries and implicit destructors which both makes this kludge no
      longer work, and conveniently removes the need for it.
      
      Turn on CFG handling of implicit destructors and initializers. Several
      ad-hoc benchmarks don't indicate any measurable performance impact from
      growing the CFG, and it fixes real correctness problems with warnings.
      
      As a result of turning on these CFG elements, we started to tickle an
      inf-loop in the unreachable code logic used for warnings. The fix is
      trivial.
      
      llvm-svn: 123056
      b35635e9
    • Ted Kremenek's avatar
      Add semantic checking that the "thousands grouping" · bf4832cd
      Ted Kremenek authored
      prefix in a printf format string is matched
      with the appropriate conversion specifier.
      
      llvm-svn: 123055
      bf4832cd
    • Ted Kremenek's avatar
      Add printf format string parsing support for ' · a322cae0
      Ted Kremenek authored
      prefix to format conversions (POSIX extension).
      
      llvm-svn: 123054
      a322cae0
  6. Jan 07, 2011
Loading