On Feb 2, 2010, at 6:59 PM, Sam Weinig wrote:
>
> 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>
Yes, exactly!
- Doug
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits