diff options
author | Piotr Zegar <me@piotrzegar.pl> | 2023-12-26 09:35:18 +0000 |
---|---|---|
committer | Piotr Zegar <me@piotrzegar.pl> | 2023-12-26 09:35:18 +0000 |
commit | 34621aa81f63812b31d1356030e9d74ce59e56fc (patch) | |
tree | 41362abb1d2a4ca47c2831bdd048fc65b77c9c84 /clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp | |
parent | 9dcc66578e12ad8e72c8ae7216122a1125976ac5 (diff) | |
download | llvm-34621aa81f63812b31d1356030e9d74ce59e56fc.zip llvm-34621aa81f63812b31d1356030e9d74ce59e56fc.tar.gz llvm-34621aa81f63812b31d1356030e9d74ce59e56fc.tar.bz2 |
Revert "[clang-tidy] Don't replace typedefs in extern c scope (#69102)"
This reverts commit 9dcc66578e12ad8e72c8ae7216122a1125976ac5.
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp index f5fc3ad..e6293ed 100644 --- a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp @@ -11,39 +11,26 @@ #include "clang/Lex/Lexer.h" using namespace clang::ast_matchers; -namespace { - -AST_MATCHER(clang::LinkageSpecDecl, isExternCLinkage) { - return Node.getLanguage() == clang::LinkageSpecDecl::lang_c; -} -} // namespace namespace clang::tidy::modernize { -static constexpr llvm::StringLiteral ExternCDeclName = "extern-c-decl"; static constexpr llvm::StringLiteral ParentDeclName = "parent-decl"; static constexpr llvm::StringLiteral TagDeclName = "tag-decl"; static constexpr llvm::StringLiteral TypedefName = "typedef"; UseUsingCheck::UseUsingCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), - IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)), - IgnoreExternC(Options.get("IgnoreExternC", false)) {} + IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)) {} void UseUsingCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "IgnoreMacros", IgnoreMacros); - Options.store(Opts, "IgnoreExternC", IgnoreExternC); } void UseUsingCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher( - typedefDecl( - unless(isInstantiated()), - optionally(hasAncestor( - linkageSpecDecl(isExternCLinkage()).bind(ExternCDeclName))), - hasParent(decl().bind(ParentDeclName))) - .bind(TypedefName), - this); + Finder->addMatcher(typedefDecl(unless(isInstantiated()), + hasParent(decl().bind(ParentDeclName))) + .bind(TypedefName), + this); // This matcher is used to find tag declarations in source code within // typedefs. They appear in the AST just *prior* to the typedefs. @@ -83,11 +70,6 @@ void UseUsingCheck::check(const MatchFinder::MatchResult &Result) { if (MatchedDecl->getLocation().isInvalid()) return; - const auto *ExternCDecl = - Result.Nodes.getNodeAs<LinkageSpecDecl>(ExternCDeclName); - if (ExternCDecl && IgnoreExternC) - return; - SourceLocation StartLoc = MatchedDecl->getBeginLoc(); if (StartLoc.isMacroID() && IgnoreMacros) @@ -140,8 +122,7 @@ void UseUsingCheck::check(const MatchFinder::MatchResult &Result) { Type = FirstTypedefName + Type.substr(FirstTypedefType.size() + 1); } if (!ReplaceRange.getEnd().isMacroID()) { - const SourceLocation::IntTy Offset = - MatchedDecl->getFunctionType() ? 0 : Name.size(); + const SourceLocation::IntTy Offset = MatchedDecl->getFunctionType() ? 0 : Name.size(); LastReplacementEnd = ReplaceRange.getEnd().getLocWithOffset(Offset); } |