diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/Driver/clang.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/Driver/clang.cpp b/clang/Driver/clang.cpp index ca0dc444384..ac5a4b281a3 100644 --- a/clang/Driver/clang.cpp +++ b/clang/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); } |