Driver: Return 0 from BuildCompilation on -ccc-print-phases,
-ccc-print-options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66907 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index d09aa18..fcfa9ad 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -152,7 +152,7 @@
   // FIXME: This behavior shouldn't be here.
   if (CCCPrintOptions) {
     PrintOptions(*Args);
-    exit(0);
+    return 0;
   }
 
   if (!HandleImmediateArgs(*Args))
@@ -166,12 +166,12 @@
   else
     BuildActions(*Args, Actions);
 
-  // FIXME: This behavior shouldn't be here.
   if (CCCPrintActions) {
     PrintActions(*Args, Actions);
-    exit(0);
+    return 0;
   }
-    
+
+  
   assert(0 && "FIXME: Implement");
 
   return new Compilation();
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index 645a3ff..fd0cc9c 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -52,6 +52,8 @@
   // If there were errors building the compilation, quit now.
   if (Diags.getNumErrors())
     return 1;
+  if (!C.get())
+    return 0;
 
   return C->Execute();
 }