From 47cd7a91f47e8687a801e926293afcb8ef93ffd8 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Thu, 22 Jul 2010 16:03:56 +0000 Subject: Support C++ try/catch statements for PCH. llvm-svn: 109112 --- clang/lib/AST/Stmt.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'clang/lib/AST/Stmt.cpp') diff --git a/clang/lib/AST/Stmt.cpp b/clang/lib/AST/Stmt.cpp index 6dbe8f4d18c..4222ce7edd6 100644 --- a/clang/lib/AST/Stmt.cpp +++ b/clang/lib/AST/Stmt.cpp @@ -451,6 +451,15 @@ CXXTryStmt *CXXTryStmt::Create(ASTContext &C, SourceLocation tryLoc, return new (Mem) CXXTryStmt(tryLoc, tryBlock, handlers, numHandlers); } +CXXTryStmt *CXXTryStmt::Create(ASTContext &C, EmptyShell Empty, + unsigned numHandlers) { + std::size_t Size = sizeof(CXXTryStmt); + Size += ((numHandlers + 1) * sizeof(Stmt)); + + void *Mem = C.Allocate(Size, llvm::alignof()); + return new (Mem) CXXTryStmt(Empty, numHandlers); +} + CXXTryStmt::CXXTryStmt(SourceLocation tryLoc, Stmt *tryBlock, Stmt **handlers, unsigned numHandlers) : Stmt(CXXTryStmtClass), TryLoc(tryLoc), NumHandlers(numHandlers) { -- cgit v1.2.3