Skip to content
  1. Aug 13, 2009
  2. Aug 12, 2009
  3. Aug 11, 2009
    • Nate Begeman's avatar
      Take 2 on AltiVec-style vector initializers. · 5ec4b318
      Nate Begeman authored
      Fixes PR4704 problems
      
      Addresses Eli's patch feedback re: ugly cast code
      
      Updates all postfix operators to remove ParenListExprs.  While this is awful,
      no better solution (say, in the parser) is obvious to me.  Better solutions
      welcome.
      
      llvm-svn: 78621
      5ec4b318
  4. Aug 10, 2009
    • Daniel Dunbar's avatar
      Revert r78535, it is causing a number of failures to build projects. · 481fe509
      Daniel Dunbar authored
      --- Reverse-merging r78535 into '.':
      D    test/Sema/altivec-init.c
      U    include/clang/Basic/DiagnosticSemaKinds.td
      U    include/clang/AST/Expr.h
      U    include/clang/AST/StmtNodes.def
      U    include/clang/Parse/Parser.h
      U    include/clang/Parse/Action.h
      U    tools/clang-cc/clang-cc.cpp
      U    lib/Frontend/PrintParserCallbacks.cpp
      U    lib/CodeGen/CGExprScalar.cpp
      U    lib/Sema/SemaInit.cpp
      U    lib/Sema/Sema.h
      U    lib/Sema/SemaExpr.cpp
      U    lib/Sema/SemaTemplateInstantiateExpr.cpp
      U    lib/AST/StmtProfile.cpp
      U    lib/AST/Expr.cpp
      U    lib/AST/StmtPrinter.cpp
      U    lib/Parse/ParseExpr.cpp
      U    lib/Parse/ParseExprCXX.cpp
      
      llvm-svn: 78551
      481fe509
  5. Aug 09, 2009
  6. Aug 08, 2009
  7. Jul 31, 2009
  8. Jul 30, 2009
  9. 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
    • Fariborz Jahanian's avatar
      Code refactoring to define getCXXRecordDeclForPointerType · 82e28742
      Fariborz Jahanian authored
      and use it in several places.
      
      llvm-svn: 77411
      82e28742
    • Fariborz Jahanian's avatar
      ir-gen derived-to-base conversion in implicit casts. · f1707158
      Fariborz Jahanian authored
      llvm-svn: 77374
      f1707158
  10. Jul 28, 2009
  11. Jul 27, 2009
  12. Jul 25, 2009
  13. Jul 22, 2009
  14. Jul 21, 2009
  15. Jul 18, 2009
  16. Jul 17, 2009
  17. 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
  18. Jul 15, 2009
  19. Jul 14, 2009
  20. Jul 13, 2009
  21. Jul 11, 2009
    • 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
  22. Jul 08, 2009
  23. Jun 17, 2009
  24. Jun 04, 2009
  25. May 31, 2009
  26. May 29, 2009
  27. May 27, 2009
  28. May 22, 2009
Loading