Skip to content
  1. Nov 06, 2009
  2. Oct 29, 2009
  3. Oct 23, 2009
    • Douglas Gregor's avatar
      Eliminate QualifiedDeclRefExpr, which captured the notion of a · 4bd90e53
      Douglas Gregor authored
      qualified reference to a declaration that is not a non-static data
      member or non-static member function, e.g., 
      
        namespace N { int i; }
        int j = N::i;
      
      Instead, extend DeclRefExpr to optionally store the qualifier. Most
      clients won't see or care about the difference (since
      QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the
      number of top-level expression types that clients need to cope with,
      brings the implementation of DeclRefExpr into line with MemberExpr,
      and simplifies and unifies our handling of declaration references.
      
      Extended DeclRefExpr to (optionally) store explicitly-specified
      template arguments. This occurs when naming a declaration via a
      template-id (which will be stored in a TemplateIdRefExpr) that,
      following template argument deduction and (possibly) overload
      resolution, is replaced with a DeclRefExpr that refers to a template
      specialization but maintains the template arguments as written.
      
      llvm-svn: 84962
      4bd90e53
  4. Oct 18, 2009
  5. Oct 14, 2009
  6. Oct 13, 2009
  7. Oct 12, 2009
  8. Oct 03, 2009
  9. Oct 02, 2009
  10. Sep 29, 2009
  11. Sep 19, 2009
  12. Sep 11, 2009
  13. Sep 09, 2009
  14. Aug 26, 2009
  15. Aug 24, 2009
  16. Aug 23, 2009
  17. Aug 13, 2009
  18. Aug 09, 2009
  19. Aug 06, 2009
  20. Aug 02, 2009
  21. Jul 31, 2009
  22. Jul 30, 2009
  23. Jul 29, 2009
    • Ted Kremenek's avatar
      Change uses of: · c23c7e6a
      Ted Kremenek authored
        Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
        Type::getAsRecordType() -> Type::getAs<RecordType>()
        Type::getAsPointerType() -> Type::getAs<PointerType>()
        Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>()
        Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>()
        Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>()
        Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>()
        Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
        Type::getAsTagType() -> Type::getAs<TagType>()
        
      And remove Type::getAsReferenceType(), etc.
      
      This change is similar to one I made a couple weeks ago, but that was partly
      reverted pending some additional design discussion. With Doug's pending smart
      pointer changes for Types, it seemed natural to take this approach.
      
      llvm-svn: 77510
      c23c7e6a
    • Owen Anderson's avatar
      Update for LLVM API change. · ade90fd1
      Owen Anderson authored
      llvm-svn: 77492
      ade90fd1
  24. Jul 28, 2009
Loading