[cfe-commits] r95190 - in /cfe/trunk: include/clang/AST/StmtCXX.h lib/AST/Stmt.cpp lib/Sema/SemaStmt.cpp

Douglas Gregor dgregor at apple.com
Tue Feb 2 18:18:31 PST 2010


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.

	- Doug



More information about the cfe-commits mailing list