Finish making AST BumpPtrAllocation runtime configurable (based on -disable-free).

snaroff% time ../../Release-Asserts/bin/clang INPUTS/Cocoa_h.m
0.179u 0.051s 0:00.23 95.6%	0+0k 0+0io 0pf+0w
snaroff% time ../../Release-Asserts/bin/clang INPUTS/Cocoa_h.m -disable-free
0.169u 0.052s 0:00.22 95.4%	0+0k 0+0io 0pf+0w


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63153 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 7cc67e0..5e22691 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -31,9 +31,9 @@
 ASTContext::ASTContext(const LangOptions& LOpts, SourceManager &SM,
                        TargetInfo &t,
                        IdentifierTable &idents, SelectorTable &sels,
-                       unsigned size_reserve) : 
+                       bool FreeMem, unsigned size_reserve) : 
   CFConstantStringTypeDecl(0), ObjCFastEnumerationStateTypeDecl(0),
-  SourceMgr(SM), LangOpts(LOpts), Target(t), 
+  SourceMgr(SM), LangOpts(LOpts), FreeMemory(FreeMem), Target(t), 
   Idents(idents), Selectors(sels)
 {  
   if (size_reserve > 0) Types.reserve(size_reserve);    
@@ -1126,8 +1126,8 @@
   // FunctionTypeProto objects are allocated with extra bytes after them
   // for a variable size array (for parameter types) at the end of them.
   FunctionTypeProto *FTP = 
-    (FunctionTypeProto*)Allocator.Allocate(sizeof(FunctionTypeProto) + 
-                                           NumArgs*sizeof(QualType), 8);
+    (FunctionTypeProto*)Allocate(sizeof(FunctionTypeProto) + 
+                                 NumArgs*sizeof(QualType), 8);
   new (FTP) FunctionTypeProto(ResultTy, ArgArray, NumArgs, isVariadic,
                               TypeQuals, Canonical);
   Types.push_back(FTP);