With -verify, only exit early on failure.
 - Nice if -verify test exercise the various cleanup functions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58285 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index ca0dc44..ac5a4b2 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -1321,7 +1321,8 @@
     ParseAST(PP, Consumer.get(), Stats, !DisableFree);
 
   if (VerifyDiagnostics)
-    exit(CheckDiagnostics(PP));
+    if (CheckDiagnostics(PP))
+      exit(1);
 
   if (Stats) {
     fprintf(stderr, "\nSTATISTICS FOR '%s':\n", InFile.c_str());
@@ -1529,5 +1530,9 @@
     fprintf(stderr, "\n");
   }
   
+  // If verifying diagnostics and we reached here, all is well.
+  if (VerifyDiagnostics)
+    return 0;
+
   return HadErrors || (Diags.getNumErrors() != 0);
 }