]> granicus.if.org Git - clang/commit
Fix late template parsing leak with incremental processing
authorReid Kleckner <reid@kleckner.net>
Wed, 15 Oct 2014 17:08:33 +0000 (17:08 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 15 Oct 2014 17:08:33 +0000 (17:08 +0000)
commit065a98c4ce5af0110844dd6a43659cfda618e990
tree0f111608d6f726a3fd51712d77b210d4f83c5005
parent763069ac81d376e544b40a844a70e5e984e10bf4
Fix late template parsing leak with incremental processing

Add a second late template parser callback meant to cleanup any
resources allocated by late template parsing.  Call it from the
Sema::ActOnEndOfTranslationUnit method after all pending template
instantiations have been completed.  Teach Parser::ParseTopLevelDecl to
install the cleanup callback when incremental processing is enabled so
that Parser::TemplateIds can be freed.

Patch by Brad King!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219810 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Parse/Parser.h
include/clang/Sema/Sema.h
lib/Parse/Parser.cpp
lib/Sema/Sema.cpp
unittests/Frontend/FrontendActionTest.cpp