Introduce DelayedCleanupPool useful for simplifying clean-up of certain resources...
commit25a767651d14db87aa03dd5fe3e011d877dd4100
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 22 Jun 2011 06:09:49 +0000 (22 06:09 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 22 Jun 2011 06:09:49 +0000 (22 06:09 +0000)
treea4be9c9ef892b9807686250089b35afb71863238
parentfc0f40acc6877c2d1fa7e50decd8ec330a3569a4
Introduce DelayedCleanupPool useful for simplifying clean-up of certain resources that, while their
lifetime is well-known and restricted, cleaning them up manually is easy to miss and cause a leak.

Use it to plug the leaking of TemplateIdAnnotation objects. rdar://9634138.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133610 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DelayedCleanupPool.h [new file with mode: 0644]
include/clang/Parse/Parser.h
lib/Parse/ParseDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/ParseExpr.cpp
lib/Parse/ParseExprCXX.cpp
lib/Parse/ParseTemplate.cpp
lib/Parse/ParseTentative.cpp
lib/Parse/Parser.cpp
lib/Sema/DeclSpec.cpp