On Feb 2, 2010, at 6:18 PM, Douglas Gregor wrote: > > On Feb 2, 2010, at 6:09 PM, Sam Weinig wrote: > >> Author: weinig >> Date: Tue Feb 2 20:09:59 2010 >> New Revision: 95190 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=95190&view=rev >> Log: >> Remove the SmallVector from CXXTryStmt. > > Thanks! > >> Modified: >> cfe/trunk/include/clang/AST/StmtCXX.h >> cfe/trunk/lib/AST/Stmt.cpp >> cfe/trunk/lib/Sema/SemaStmt.cpp >> >> Modified: cfe/trunk/include/clang/AST/StmtCXX.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/StmtCXX.h?rev=95190&r1=95189&r2=95190&view=diff >> >> ============================================================================== >> --- cfe/trunk/include/clang/AST/StmtCXX.h (original) >> +++ cfe/trunk/include/clang/AST/StmtCXX.h Tue Feb 2 20:09:59 2010 >> @@ -59,12 +59,16 @@ >> /// >> class CXXTryStmt : public Stmt { >> SourceLocation TryLoc; >> + >> // First place is the guarded CompoundStatement. Subsequent are the >> handlers. >> - // More than three handlers should be rare. >> - llvm::SmallVector<Stmt*, 4> Stmts; >> + Stmt **Stmts; >> + unsigned NumHandlers; >> + >> +protected: >> + virtual void DoDestroy(ASTContext &Ctx); > > If you're feeling really crazy, you could eliminate the Stmts pointer and > instead allocate of the statements after the CXXTryStmt object.
Sure. Do you mean something like this.
CXXTryStmtInline.diff
Description: Binary data
-Sam
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
