This revision was automatically updated to reflect the committed changes. Closed by commit rL369763: [clang-tidy] Possibility of displaying duplicate warnings (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D65065?vs=215122&id=216849#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65065/new/ https://reviews.llvm.org/D65065 Files: clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp Index: clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp +++ clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp @@ -0,0 +1,15 @@ +// RUN: %check_clang_tidy %s cert-err09-cpp,cert-err61-cpp %t + +void alwaysThrows() { + int ex = 42; + // CHECK-MESSAGES: warning: throw expression should throw anonymous temporary values instead [cert-err09-cpp] + // CHECK-MESSAGES: warning: throw expression should throw anonymous temporary values instead [cert-err61-cpp] + throw ex; +} + +void doTheJob() { + try { + alwaysThrows(); + } catch (int&) { + } +} Index: clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp +++ clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp @@ -742,8 +742,9 @@ const tooling::DiagnosticMessage &M1 = LHS.Message; const tooling::DiagnosticMessage &M2 = RHS.Message; - return std::tie(M1.FilePath, M1.FileOffset, M1.Message) < - std::tie(M2.FilePath, M2.FileOffset, M2.Message); + return + std::tie(M1.FilePath, M1.FileOffset, LHS.DiagnosticName, M1.Message) < + std::tie(M2.FilePath, M2.FileOffset, RHS.DiagnosticName, M2.Message); } }; struct EqualClangTidyError {
Index: clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp +++ clang-tools-extra/trunk/test/clang-tidy/duplicate-reports.cpp @@ -0,0 +1,15 @@ +// RUN: %check_clang_tidy %s cert-err09-cpp,cert-err61-cpp %t + +void alwaysThrows() { + int ex = 42; + // CHECK-MESSAGES: warning: throw expression should throw anonymous temporary values instead [cert-err09-cpp] + // CHECK-MESSAGES: warning: throw expression should throw anonymous temporary values instead [cert-err61-cpp] + throw ex; +} + +void doTheJob() { + try { + alwaysThrows(); + } catch (int&) { + } +} Index: clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp +++ clang-tools-extra/trunk/clang-tidy/ClangTidyDiagnosticConsumer.cpp @@ -742,8 +742,9 @@ const tooling::DiagnosticMessage &M1 = LHS.Message; const tooling::DiagnosticMessage &M2 = RHS.Message; - return std::tie(M1.FilePath, M1.FileOffset, M1.Message) < - std::tie(M2.FilePath, M2.FileOffset, M2.Message); + return + std::tie(M1.FilePath, M1.FileOffset, LHS.DiagnosticName, M1.Message) < + std::tie(M2.FilePath, M2.FileOffset, RHS.DiagnosticName, M2.Message); } }; struct EqualClangTidyError {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits