[clang-tools-extra] 2444fb9 - [clang-tidy] Don't emit the whole spelling include header in include-cleaner diagnostic message
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 4 05:32:48 PDT 2023
Author: Haojian Wu
Date: 2023-07-04T14:32:27+02:00
New Revision: 2444fb96435ecae73211f3ced3d06e48719afe97
URL: https://github.com/llvm/llvm-project/commit/2444fb96435ecae73211f3ced3d06e48719afe97
DIFF: https://github.com/llvm/llvm-project/commit/2444fb96435ecae73211f3ced3d06e48719afe97.diff
LOG: [clang-tidy] Don't emit the whole spelling include header in include-cleaner diagnostic message
To keep the message short and consistent with clangd, and the diagnostics are
attached to the #include line, users have enough context to understand the whole #include.
Differential Revision: https://reviews.llvm.org/D154434
Added:
Modified:
clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp b/clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
index b9f44c96818db0..064eccd9cd6678 100644
--- a/clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
@@ -34,6 +34,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/Path.h"
#include "llvm/Support/Regex.h"
#include <optional>
#include <string>
@@ -171,7 +172,8 @@ void IncludeCleanerCheck::check(const MatchFinder::MatchResult &Result) {
for (const auto *Inc : Unused) {
diag(Inc->HashLocation, "included header %0 is not used directly")
- << Inc->quote()
+ << llvm::sys::path::filename(Inc->Spelled,
+ llvm::sys::path::Style::posix)
<< FixItHint::CreateRemoval(CharSourceRange::getCharRange(
SM->translateLineCol(SM->getMainFileID(), Inc->Line, 1),
SM->translateLineCol(SM->getMainFileID(), Inc->Line + 1, 1)));
diff --git a/clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp b/clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp
index aef115d59bbef2..e10ac3f46e2e9d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp
@@ -2,11 +2,11 @@
#include "bar.h"
// CHECK-FIXES: {{^}}#include "baz.h"{{$}}
#include "foo.h"
-// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: included header "foo.h" is not used directly [misc-include-cleaner]
+// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: included header foo.h is not used directly [misc-include-cleaner]
// CHECK-FIXES: {{^}}
// CHECK-FIXES: {{^}}#include <string>{{$}}
#include <vector.h>
-// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: included header <vector.h> is not used directly [misc-include-cleaner]
+// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: included header vector.h is not used directly [misc-include-cleaner]
// CHECK-FIXES: {{^}}
int BarResult = bar();
int BazResult = baz();
More information about the cfe-commits
mailing list