Skip to content
  1. Feb 08, 2009
  2. Feb 07, 2009
    • Sebastian Redl's avatar
      Move CheckPointerToMemberOperands to SemaExprCXX.cpp · 5822f08c
      Sebastian Redl authored
      llvm-svn: 64029
      5822f08c
    • Ted Kremenek's avatar
    • Ted Kremenek's avatar
      Overhaul of Stmt allocation: · 5a201951
      Ted Kremenek authored
      - Made allocation of Stmt objects using vanilla new/delete a *compiler
        error* by making this new/delete "protected" within class Stmt.
      - Now the only way to allocate Stmt objects is by using the new
        operator that takes ASTContext& as an argument.  This ensures that
        all Stmt nodes are allocated from the same (pool) allocator.
      - Naturally, these two changes required that *all* creation sites for
        AST nodes use new (ASTContext&).  This is a large patch, but the
        majority of the changes are just this mechanical adjustment.
      - The above changes also mean that AST nodes can no longer be
        deallocated using 'delete'.  Instead, one most do
        StmtObject->Destroy(ASTContext&) or do
        ASTContextObject.Deallocate(StmtObject) (the latter not running the
        'Destroy' method).
      
      Along the way I also...
      - Made CompoundStmt allocate its array of Stmt* using the allocator in
        ASTContext (previously it used std::vector).  There are a whole
        bunch of other Stmt classes that need to be similarly changed to
        ensure that all memory allocated for ASTs comes from the allocator
        in ASTContext.
      - Added a new smart pointer ExprOwningPtr to Sema.h.  This replaces
        the uses of llvm::OwningPtr within Sema, as llvm::OwningPtr used
        'delete' to free memory instead of a Stmt's 'Destroy' method.
      
      Big thanks to Doug Gregor for helping with the acrobatics of making
      'new/delete' private and the new smart pointer ExprOwningPtr!
      
      llvm-svn: 63997
      5a201951
    • Sebastian Redl's avatar
    • Sebastian Redl's avatar
      Implement dereferencing of pointers-to-member. · 112a9766
      Sebastian Redl authored
      llvm-svn: 63983
      112a9766
  3. Feb 06, 2009
  4. Feb 05, 2009
  5. Feb 04, 2009
  6. Feb 03, 2009
  7. Feb 02, 2009
  8. Jan 31, 2009
Loading