Driver: Give Compilation::Execute total control over the Driver result
code; and don't return an error code when -### is present, even if
errors occur.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67425 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index 865b57c..b227761 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -87,15 +87,11 @@
                                                
   llvm::OwningPtr<Compilation> C(TheDriver->BuildCompilation(argc, argv));
 
-  // If there were errors building the compilation, quit now.
-  if (Diags.getNumErrors())
-    return 1;
-  if (!C.get())
-    return 0;
-
-  int res = C->Execute();
+  int Res = 0;
+  if (C.get())
+    Res = C->Execute();
 
   llvm::llvm_shutdown();
 
-  return res;
+  return Res;
 }