Skip to content
  1. Aug 31, 2009
  2. Aug 25, 2009
  3. Aug 24, 2009
  4. Aug 19, 2009
  5. Aug 14, 2009
  6. Aug 13, 2009
  7. Aug 06, 2009
  8. Aug 03, 2009
  9. Jul 31, 2009
  10. Jul 30, 2009
  11. 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
  12. Jul 28, 2009
  13. Jul 25, 2009
  14. Jul 24, 2009
  15. Jul 21, 2009
  16. Jul 18, 2009
  17. Jul 17, 2009
  18. Jul 16, 2009
    • Ted Kremenek's avatar
      Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. · e3fb4b65
      Ted Kremenek authored
      This method is intended to eventually replace the individual
      Type::getAsXXXType<> methods.
      
      The motivation behind this change is twofold:
      
      1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of
      them are basically copy-and-paste.
      
      2) By centralizing the implementation of the getAs<Type> logic we can more
      smoothly move over to Doug Gregor's proposed canonical type smart pointer
      scheme.
      
      Along with this patch:
      
      a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>.
      b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>.
      
      llvm-svn: 76098
      e3fb4b65
    • Steve Naroff's avatar
      Remove ASTContext::isObjCObjectPointerType(). · 79d1215d
      Steve Naroff authored
      Convert all clients to use the new predicate on Type.
      
      llvm-svn: 76076
      79d1215d
  19. Jul 15, 2009
  20. Jul 14, 2009
  21. Jul 13, 2009
  22. Jul 11, 2009
    • Daniel Dunbar's avatar
      Generate correct prototype for objc_enumerationMutation. · 9d82da40
      Daniel Dunbar authored
       - This was a latent bug exposed by the recent objc type changes.
      
      llvm-svn: 75383
      9d82da40
    • Eli Friedman's avatar
      Fix typo (found by gcc warning). · 55179ca5
      Eli Friedman authored
      llvm-svn: 75325
      55179ca5
    • Steve Naroff's avatar
      This patch includes a conceptually simple, but very intrusive/pervasive change. · 7cae42b0
      Steve Naroff authored
      The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches.
      
      This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic.
      
      By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. 
      
      Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks.
      
      llvm-svn: 75314
      7cae42b0
  23. Jul 08, 2009
Loading