Skip to content
  1. Sep 22, 2009
  2. Sep 21, 2009
  3. Sep 18, 2009
  4. Sep 17, 2009
  5. Sep 12, 2009
  6. Sep 09, 2009
  7. Sep 07, 2009
  8. Sep 05, 2009
  9. Sep 02, 2009
  10. Aug 15, 2009
  11. Aug 01, 2009
  12. Jul 31, 2009
  13. Jul 22, 2009
  14. Jul 15, 2009
    • Steve Naroff's avatar
      Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say... · 1329fa0e
      Steve Naroff authored
      Implement the ObjC pseudo built-in types as clang "BuiltinType's". I say pseudo built-in types, since Sema still injects a typedef for recognition (i.e. they aren't truly built-ins from a parser perspective).
      
      This removes the static data/methods on ObjCObjectPointerType while preserving the nice API (no need to fiddle with ASTContext:-).
      
      This patch also adds Type::isObjCBuiltinType().
      
      This should be the last fairly large patch related to recrafting the ObjC type system. The follow-on patches should be fairly small.
      
      llvm-svn: 75808
      1329fa0e
  15. Jul 14, 2009
  16. 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
  17. Jun 30, 2009
    • Argyrios Kyrtzidis's avatar
      Remove the ASTContext parameter from the attribute-related methods of Decl. · b4b64ca7
      Argyrios Kyrtzidis authored
      The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
      
      This commit touches a lot of files since call sites for these methods are everywhere.
      I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
      
      llvm-svn: 74501
      b4b64ca7
    • Douglas Gregor's avatar
      Improve code generation for function template specializations: · e8925dbc
      Douglas Gregor authored
        - Track implicit instantiations vs. the not-yet-supported explicit
        specializations
        - Give implicit instantiations of function templates (and member
        functions of class templates) linkonce_odr linkage.
        - Improve name mangling for function template specializations,
        including the template arguments of the instantiation and the return
        type of the function.
      
      Note that our name-mangling is improved, but not correct: we still
      don't mangle substitutions, although the manglings we produce can be
      demangled.
      
      llvm-svn: 74466
      e8925dbc
  18. Jun 26, 2009
Loading