Skip to content
  1. Oct 20, 2009
  2. Oct 16, 2009
  3. Oct 14, 2009
  4. Oct 13, 2009
  5. Oct 09, 2009
  6. Oct 06, 2009
  7. Oct 02, 2009
  8. Sep 30, 2009
  9. Sep 25, 2009
  10. Sep 24, 2009
  11. Sep 22, 2009
  12. Sep 19, 2009
  13. Sep 15, 2009
  14. Sep 09, 2009
  15. 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
  16. Sep 01, 2009
  17. Aug 19, 2009
  18. Aug 14, 2009
  19. Jul 27, 2009
  20. Jul 22, 2009
  21. Jul 18, 2009
  22. Jul 14, 2009
  23. Jul 13, 2009
  24. 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
Loading