Make ModuleMapParser own its TargetInfo, so it doesn't get leaked.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153648 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp
index e6851af..5304311 100644
--- a/lib/Lex/ModuleMap.cpp
+++ b/lib/Lex/ModuleMap.cpp
@@ -508,7 +508,7 @@
     
     /// \brief Default target information, used only for string literal
     /// parsing.
-    TargetInfo *Target;
+    OwningPtr<TargetInfo> Target;
     
     /// \brief Stores string data for the various string literals referenced
     /// during parsing.
@@ -551,7 +551,7 @@
     {
       TargetOptions TargetOpts;
       TargetOpts.Triple = llvm::sys::getDefaultTargetTriple();
-      Target = TargetInfo::CreateTargetInfo(Diags, TargetOpts);
+      Target.reset(TargetInfo::CreateTargetInfo(Diags, TargetOpts));
       
       Tok.clear();
       consumeToken();