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);
}