From: Daniel Dunbar Date: Mon, 27 Oct 2008 22:10:13 +0000 (+0000) Subject: With -verify, only exit early on failure. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=276373df8cb30dde91000d1b3d9dccc6c25aedef;p=clang 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 ca0dc44438..ac5a4b281a 100644 --- a/Driver/clang.cpp +++ b/Driver/clang.cpp @@ -1321,7 +1321,8 @@ static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF, 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 @@ int main(int argc, char **argv) { fprintf(stderr, "\n"); } + // If verifying diagnostics and we reached here, all is well. + if (VerifyDiagnostics) + return 0; + return HadErrors || (Diags.getNumErrors() != 0); }