Skip to content
  1. Sep 19, 2009
  2. Sep 15, 2009
  3. Sep 09, 2009
  4. Sep 05, 2009
    • John McCall's avatar
      Basic support for representing elaborated type specifiers · fcc33b07
      John McCall authored
      directly in the AST.  The current thinking is to create these
      only in C++ mode for efficiency.  But for now, they're not being
      created at all; patch to follow.
      
      This will let us do things like verify that tags match during
      template instantation, as well as signal that an elaborated type
      specifier was used for clients that actually care.
      
      Optimally, the TypeLoc hierarchy should be adjusted to carry tag
      location information as well.
      
      llvm-svn: 81057
      fcc33b07
  5. Sep 01, 2009
  6. Aug 19, 2009
  7. Aug 14, 2009
  8. Jul 27, 2009
  9. Jul 22, 2009
  10. Jul 18, 2009
  11. Jul 14, 2009
  12. Jul 13, 2009
  13. 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
  14. Jul 10, 2009
  15. Jul 06, 2009
  16. Jun 30, 2009
    • Argyrios Kyrtzidis's avatar
      De-ASTContext-ify DeclContext. · cfbfe78e
      Argyrios Kyrtzidis authored
      Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
      Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
      
      llvm-svn: 74506
      cfbfe78e
    • Chris Lattner's avatar
      Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions. · c61089a6
      Chris Lattner authored
      This is simple enough, but then I thought it would be nice to make PrintingPolicy
      get a LangOptions so that various things can key off "bool" and "C++" independently.
      This spiraled out of control.  There are many fixme's, but I think things are slightly
      better than they were before.
      
      One thing that can be improved: CFG should probably have an ASTContext pointer in it,
      which would simplify its clients.
      
      llvm-svn: 74493
      c61089a6
  17. Jun 26, 2009
  18. Jun 24, 2009
  19. Jun 18, 2009
    • Steve Naroff's avatar
      First step toward fixing <rdar://problem/6613046> refactor clang objc type representation. · fb4330f2
      Steve Naroff authored
      Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType).
      
      This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types). 
      
      No functionality change.
      
      llvm-svn: 73649
      fb4330f2
  20. Jun 16, 2009
  21. May 29, 2009
  22. May 26, 2009
  23. May 21, 2009
  24. May 18, 2009
  25. May 14, 2009
  26. May 05, 2009
  27. May 04, 2009
Loading