]> granicus.if.org Git - clang/commitdiff
Tweak formatting.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 12 Nov 2009 00:24:28 +0000 (00:24 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 12 Nov 2009 00:24:28 +0000 (00:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86907 91177308-0d34-0410-b5e6-96231b3b80d8

tools/clang-cc/clang-cc.cpp

index 9ef08774561579aa51a5b3f5794f6545c36c3732..784b19e61c11f56d476285d9cb6227bf41f2316b 100644 (file)
@@ -217,14 +217,14 @@ CodeCompletionWantsMacros("code-completion-macros",
 static CodeCompleteConsumer *BuildPrintingCodeCompleter(Sema &S, void *) {
   switch (CodeCompletionPrinter.getValue()) {
   case CCP_Debug:
-    return new PrintingCodeCompleteConsumer(S, CodeCompletionWantsMacros, 
+    return new PrintingCodeCompleteConsumer(S, CodeCompletionWantsMacros,
                                             llvm::outs());
-      
+
   case CCP_CIndex:
     return new CIndexCodeCompleteConsumer(S, CodeCompletionWantsMacros,
                                           llvm::outs());
   };
-  
+
   return 0;
 }
 
@@ -890,18 +890,15 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts,
   if (FixItRewrite)
     FixItRewrite->WriteFixedFile(InFile, CompOpts.getOutputFile());
 
-  // Disable the consumer prior to the context, the consumer may perform actions
-  // in its destructor which require the context.
-  if (DisableFree)
+  // Release the consumer and the AST, in that order since the consumer may
+  // perform actions in its destructor which require the context.
+  if (DisableFree) {
     Consumer.take();
-  else
-    Consumer.reset();
-
-  // If in -disable-free mode, don't deallocate ASTContext.
-  if (DisableFree)
     ContextOwner.take();
-  else
-    ContextOwner.reset(); // Delete ASTContext
+  } else {
+    Consumer.reset();
+    ContextOwner.reset();
+  }
 
   if (VerifyDiagnostics)
     if (CheckDiagnostics(PP))
@@ -948,10 +945,9 @@ static void ProcessASTInputFile(const CompilerInvocation &CompOpts,
 
   llvm::OwningPtr<llvm::raw_ostream> OS;
   llvm::sys::Path OutPath;
-  llvm::OwningPtr<ASTConsumer> Consumer(CreateConsumerAction(CompOpts, PP, 
+  llvm::OwningPtr<ASTConsumer> Consumer(CreateConsumerAction(CompOpts, PP,
                                                              InFile, PA, OS,
                                                              OutPath, Context));
-
   if (!Consumer.get()) {
     Diags.Report(diag::err_fe_invalid_ast_action);
     return;