aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
diff options
context:
space:
mode:
authorMike <FruitClover@gmail.com>2024-04-06 04:38:08 +0300
committerGitHub <noreply@github.com>2024-04-06 04:38:08 +0300
commited4e505c219fe6c7464ea5a056e90d8cd94c7332 (patch)
treee302c05dbbec5d8125dc50500a4faa9d6f6aa75f /clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
parente64eede0dcf08e9b2d4bec0b47818b26862ec2c7 (diff)
downloadllvm-ed4e505c219fe6c7464ea5a056e90d8cd94c7332.zip
llvm-ed4e505c219fe6c7464ea5a056e90d8cd94c7332.tar.gz
llvm-ed4e505c219fe6c7464ea5a056e90d8cd94c7332.tar.bz2
[clang-tidy] Fix readability-duplicate-include for includes with macro (#87433)
Completely skip include directives that form the filename using macros. fixes #87303
Diffstat (limited to 'clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp b/clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
index 6714716..229e558 100644
--- a/clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
@@ -79,6 +79,10 @@ void DuplicateIncludeCallbacks::InclusionDirective(
bool IsAngled, CharSourceRange FilenameRange, OptionalFileEntryRef File,
StringRef SearchPath, StringRef RelativePath, const Module *SuggestedModule,
bool ModuleImported, SrcMgr::CharacteristicKind FileType) {
+ // Skip includes behind macros
+ if (FilenameRange.getBegin().isMacroID() ||
+ FilenameRange.getEnd().isMacroID())
+ return;
if (llvm::is_contained(Files.back(), FileName)) {
// We want to delete the entire line, so make sure that [Start,End] covers
// everything.