]> granicus.if.org Git - clang/commitdiff
Simplify.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 12 Nov 2009 02:53:13 +0000 (02:53 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 12 Nov 2009 02:53:13 +0000 (02:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86935 91177308-0d34-0410-b5e6-96231b3b80d8

tools/clang-cc/clang-cc.cpp

index 4f0fd5de45ca2dcc15550249efaa3f0e3e69e305..2648a0b4d85f02cf4a28db29746c6f53b9b35fb5 100644 (file)
@@ -718,6 +718,9 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
   }
 
   llvm::OwningPtr<ASTContext> ContextOwner;
+  llvm::OwningPtr<ExternalASTSource> Source;
+  const std::string &ImplicitPCHInclude =
+    CompOpts.getPreprocessorOpts().getImplicitPCHInclude();
   if (Consumer)
     ContextOwner.reset(new ASTContext(PP.getLangOptions(),
                                       PP.getSourceManager(),
@@ -727,12 +730,6 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
                                       PP.getBuiltinInfo(),
                                       /* FreeMemory = */ !DisableFree,
                                       /* size_reserve = */0));
-
-  llvm::OwningPtr<PCHReader> Reader;
-  llvm::OwningPtr<ExternalASTSource> Source;
-
-  const std::string &ImplicitPCHInclude =
-    CompOpts.getPreprocessorOpts().getImplicitPCHInclude();
   if (Consumer && !ImplicitPCHInclude.empty()) {
     // If the user specified -isysroot, it will be used for relocatable PCH
     // files.
@@ -740,6 +737,7 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
     if (isysrootPCH[0] == '\0')
       isysrootPCH = 0;
 
+    llvm::OwningPtr<PCHReader> Reader;
     Reader.reset(new PCHReader(PP, ContextOwner.get(), isysrootPCH));
 
     // The user has asked us to include a precompiled header. Load
@@ -753,10 +751,8 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
       // Attach the PCH reader to the AST context as an external AST
       // source, so that declarations will be deserialized from the
       // PCH file as needed.
-      if (ContextOwner) {
-        Source.reset(Reader.take());
-        ContextOwner->setExternalSource(Source);
-      }
+      Source.reset(Reader.take());
+      ContextOwner->setExternalSource(Source);
       break;
     }