Skip to content
  1. Oct 27, 2012
  2. Oct 25, 2012
  3. Oct 24, 2012
  4. Oct 23, 2012
  5. Oct 21, 2012
    • Richard Smith's avatar
      Unrevert r166268, reverted in r166272, with a fix for the issue which Nick · db2630fb
      Richard Smith authored
      found: if an overloaded operator& is present before a template definition,
      the expression &T::foo is represented as a CXXOperatorCallExpr, not as a
      UnaryOperator, so we didn't notice that it's permitted to reference a non-static
      data member of an unrelated class.
      
      While investigating this, I discovered another problem in this area: we are
      treating template default arguments as unevaluated contexts during substitution,
      resulting in performing incorrect checks for uses of non-static data members in
      C++11. That is not fixed by this patch (I'll look into this soon; it's related
      to the failure to correctly instantiate constexpr function templates), but was
      resulting in this bug not firing in C++11 mode (except with -Wc++98-compat).
      
      Original message:
      
      PR14124: When performing template instantiation of a qualified-id outside of a
      class, diagnose if the qualified-id instantiates to a non-static class member.
      
      llvm-svn: 166385
      db2630fb
  6. Oct 20, 2012
  7. Oct 19, 2012
  8. Oct 18, 2012
  9. Oct 17, 2012
  10. Oct 16, 2012
    • David Blaikie's avatar
      Implement GCC's -Wint-to-pointer-cast. · 282ad876
      David Blaikie authored
      This implementation doesn't warn on anything that GCC doesn't warn on with the
      exception of templates specializations (GCC doesn't warn, Clang does). The
      specific skipped cases (boolean, constant expressions, enums) are open for
      debate/adjustment if anyone wants to demonstrate that GCC is being overly
      conservative here. The only really obvious false positive I found was in the
      Clang regression suite's MPI test - apparently MPI uses specific flag values in
      pointer constants. (eg: #define FOO (void*)~0)
      
      llvm-svn: 166039
      282ad876
  11. Oct 12, 2012
  12. Oct 11, 2012
  13. Oct 10, 2012
  14. Oct 06, 2012
  15. Oct 05, 2012
  16. Oct 03, 2012
    • Michael Han's avatar
      Improve C++11 attribute parsing. · 23214e50
      Michael Han authored
      - General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST.
      - Add support to parse arguments of attributes that in 'gnu' namespace.
      - Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic.
      
      llvm-svn: 165082
      23214e50
Loading