diff options
| author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-02-20 17:13:14 +0100 |
|---|---|---|
| committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2019-03-07 12:56:01 +0000 |
| commit | dba0adcfe0fec308a047cca79b1be0b1436f6fad (patch) | |
| tree | cd086e0eba2b36b88d2146e4a90ceab61a52f4f3 /unittests/Basic/DiagnosticTest.cpp | |
| parent | d1408d8177f7553097d1efd9d62c75868340266b (diff) | |
[backported/clang-9][libclang] Fix CXTranslationUnit_KeepGoingrelease_70-based
--------------------------------------------------------------------------
https://reviews.llvm.org/D58501
--------------------------------------------------------------------------
Since
commit 56f548bbbb7e4387a69708f70724d00e9e076153
[modules] Round-trip -Werror flag through explicit module build.
the behavior of CXTranslationUnit_KeepGoing changed:
Unresolved #includes are fatal errors again. As a consequence, some
templates are not instantiated and lead to confusing errors.
Revert to the old behavior: With CXTranslationUnit_KeepGoing fatal
errors are mapped to errors.
Subscribers: arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58501
Fixes: QTCREATORBUG-21892
Change-Id: I6b5c2490922a798fcc9080fa73fa1fdaecf7bddd
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'unittests/Basic/DiagnosticTest.cpp')
| -rw-r--r-- | unittests/Basic/DiagnosticTest.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/unittests/Basic/DiagnosticTest.cpp b/unittests/Basic/DiagnosticTest.cpp index 3068e1c340..42555097a6 100644 --- a/unittests/Basic/DiagnosticTest.cpp +++ b/unittests/Basic/DiagnosticTest.cpp @@ -47,13 +47,13 @@ TEST(DiagnosticTest, suppressAndTrap) { EXPECT_FALSE(Diags.hasUnrecoverableErrorOccurred()); } -// Check that SuppressAfterFatalError works as intended -TEST(DiagnosticTest, suppressAfterFatalError) { - for (unsigned Suppress = 0; Suppress != 2; ++Suppress) { +// Check that FatalsAsError works as intended +TEST(DiagnosticTest, fatalsAsError) { + for (unsigned FatalsAsError = 0; FatalsAsError != 2; ++FatalsAsError) { DiagnosticsEngine Diags(new DiagnosticIDs(), new DiagnosticOptions, new IgnoringDiagConsumer()); - Diags.setSuppressAfterFatalError(Suppress); + Diags.setFatalsAsError(FatalsAsError); // Diag that would set UnrecoverableErrorOccurred and ErrorOccurred. Diags.Report(diag::err_cannot_open_file) << "file" << "error"; @@ -63,13 +63,13 @@ TEST(DiagnosticTest, suppressAfterFatalError) { Diags.Report(diag::warn_mt_message) << "warning"; EXPECT_TRUE(Diags.hasErrorOccurred()); - EXPECT_TRUE(Diags.hasFatalErrorOccurred()); + EXPECT_EQ(Diags.hasFatalErrorOccurred(), FatalsAsError ? 0u : 1u); EXPECT_TRUE(Diags.hasUncompilableErrorOccurred()); EXPECT_TRUE(Diags.hasUnrecoverableErrorOccurred()); // The warning should be emitted and counted only if we're not suppressing // after fatal errors. - EXPECT_EQ(Diags.getNumWarnings(), Suppress ? 0u : 1u); + EXPECT_EQ(Diags.getNumWarnings(), FatalsAsError); } } |
