Skip to content
  1. Apr 13, 2009
  2. Apr 12, 2009
  3. Apr 11, 2009
  4. Apr 10, 2009
  5. Apr 09, 2009
  6. Apr 07, 2009
  7. Apr 06, 2009
  8. Apr 03, 2009
  9. Apr 02, 2009
  10. Mar 31, 2009
  11. Mar 29, 2009
    • Chris Lattner's avatar
      Push DeclGroup much farther throughout the compiler. Now the various · 5bbb3c8a
      Chris Lattner authored
      productions (except the already broken ObjC cases like @class X,Y;) in 
      the parser that can produce more than one Decl return a DeclGroup instead
      of a Decl, etc.
      
      This allows elimination of the Decl::NextDeclarator field, and exposes
      various clients that should look at all decls in a group, but which were
      only looking at one (such as the dumper, printer, etc).  These have been
      fixed.
      
      Still TODO:
      
      1) there are some FIXME's in the code about potentially using
      DeclGroup for better location info.
      2) ParseObjCAtDirectives should return a DeclGroup due to @class etc.
      3) I'm not sure what is going on with StmtIterator.cpp, or if it can
         be radically simplified now.
      4) I put a truly horrible hack in ParseTemplate.cpp.
      
      I plan to bring up #3/4 on the mailing list, but don't plan to tackle
      #1/2 in the short term.
      
      llvm-svn: 68002
      5bbb3c8a
    • Chris Lattner's avatar
  12. Mar 28, 2009
    • Chris Lattner's avatar
      Introduce a new OpaquePtr<N> struct type, which is a simple POD wrapper for a · 83f095cc
      Chris Lattner authored
      pointer.  Its purpose in life is to be a glorified void*, but which does not
      implicitly convert to void* or other OpaquePtr's with a different UID.
      
      Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>.  Change the 
      entire parser/sema interface to use DeclPtrTy instead of DeclTy*.  This
      makes the C++ compiler enforce that these aren't convertible to other opaque
      types.
      
      We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc,
      but I don't plan to do that in the short term.
      
      The one outstanding known problem with this patch is that we lose the 
      bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to
      bitmangle the success bit into the low bit of DeclPtrTy.  I will rectify
      this with a subsequent patch.
      
      llvm-svn: 67952
      83f095cc
  13. Mar 21, 2009
  14. Mar 18, 2009
  15. Mar 14, 2009
  16. Mar 13, 2009
  17. Mar 07, 2009
  18. Mar 05, 2009
  19. Mar 04, 2009
  20. Mar 03, 2009
  21. Mar 02, 2009
  22. Mar 01, 2009
    • Chris Lattner's avatar
      "This patch uses the new ObjCImplDecl class to merge ... · 9ef10f46
      Chris Lattner authored
      "This patch uses the new ObjCImplDecl class to merge  Sema::ImplMethodsVsClassMethods and Sema::ImplCategoryMethodsVsIntfMethods methods.
      And now, when clang check a class implementation to find unimplemented methods, it also checks all methods from the class extensions (unnamed categories).
      
      There is also a test case to check this warning.
      
      This patch contains also a minor update for ObjCImplDecl . getNameAsCString and getNameAsString now returns an empty string instead of crashing for unnamed categories."
      
      Patch by Jean-Daniel Dupas!
      
      llvm-svn: 65744
      9ef10f46
Loading