diff options
author | Daniel Jasper <djasper@google.com> | 2012-09-28 15:45:07 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2012-09-28 15:45:07 +0000 |
commit | 1c84c68b6d7a92416493ab6c36f630de48c65d08 (patch) | |
tree | db376a61427dfd856ad351ee7330b44e22f14fb9 | |
parent | 919a2d7a63eec8f6e1e95e85306e0dc21ef91883 (diff) |
Set Diag.ErrorOccurred even if a DiagnosticConsumer does not want it in
diagnostic count.
If a DiagnosticConsumer sub-class overwrites IncludeInDiagnosticCounts,
this should change diagnostic counts. However, it currently also
influences Diag.ErrorOccurred, which in turn influences the behavior of
parsing and semantic analysis (in a way that can make it crash).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164824 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/DiagnosticIDs.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Basic/DiagnosticIDs.cpp b/lib/Basic/DiagnosticIDs.cpp index ca96fd2b9b..ed976436e2 100644 --- a/lib/Basic/DiagnosticIDs.cpp +++ b/lib/Basic/DiagnosticIDs.cpp @@ -628,9 +628,9 @@ bool DiagnosticIDs::ProcessDiag(DiagnosticsEngine &Diag) const { if (DiagLevel >= DiagnosticIDs::Error) { if (isUnrecoverable(DiagID)) Diag.UnrecoverableErrorOccurred = true; - + + Diag.ErrorOccurred = true; if (Diag.Client->IncludeInDiagnosticCounts()) { - Diag.ErrorOccurred = true; ++Diag.NumErrors; } @@ -686,4 +686,3 @@ bool DiagnosticIDs::isARCDiagnostic(unsigned DiagID) { unsigned cat = getCategoryNumberForDiag(DiagID); return DiagnosticIDs::getCategoryNameFromID(cat).startswith("ARC "); } - |