github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git-clang-format --diff a1de0946abe8d0195bc06651e0abe32966be47cd 05453bc0da214ad69ab94d901c997c61fae86ab6 -- clang/tools/clang-named-modules-querier/ClangNamedModulesQuerier.cpp clang/tools/clang-named-modules-querier/GetDeclsInfoToJson.h clang/tools/clang-named-modules-querier/GetUsedDeclActionPlugin.cpp clang/tools/clang-named-modules-querier/GetUsedFilesFromModulesPlugin.cpp clang/include/clang/Serialization/ASTReader.h clang/lib/Serialization/ASTReader.cpp `````````` </details> <details> <summary> View the diff from clang-format here. </summary> ``````````diff diff --git a/clang/include/clang/Serialization/ASTReader.h b/clang/include/clang/Serialization/ASTReader.h index 9f028e59b9..39f971a98b 100644 --- a/clang/include/clang/Serialization/ASTReader.h +++ b/clang/include/clang/Serialization/ASTReader.h @@ -1981,10 +1981,10 @@ public: /// lookup table as unmaterialized references. bool FindExternalVisibleDeclsByName(const DeclContext *DC, DeclarationName Name) override; - /// Return false if Name is none and Decl Context doesn't come from the reader. + /// Return false if Name is none and Decl Context doesn't come from the + /// reader. bool FindVisibleDeclsByName(const DeclContext *DC, DeclarationName Name, - SmallVectorImpl<NamedDecl*> &Decls); - + SmallVectorImpl<NamedDecl *> &Decls); /// Read all of the declarations lexically stored in a /// declaration context. diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 141df3beff..40f5b11fb6 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -7930,7 +7930,7 @@ void ASTReader::FindFileRegionDecls(FileID File, bool ASTReader::FindVisibleDeclsByName(const DeclContext *DC, DeclarationName Name, - SmallVectorImpl<NamedDecl*> &Decls) { + SmallVectorImpl<NamedDecl *> &Decls) { if (!Name) return false; @@ -7951,9 +7951,8 @@ bool ASTReader::FindVisibleDeclsByName(const DeclContext *DC, return true; } -bool -ASTReader::FindExternalVisibleDeclsByName(const DeclContext *DC, - DeclarationName Name) { +bool ASTReader::FindExternalVisibleDeclsByName(const DeclContext *DC, + DeclarationName Name) { assert(DC->hasExternalVisibleStorage() && DC == DC->getPrimaryContext() && "DeclContext has no visible decls in storage"); diff --git a/clang/tools/clang-named-modules-querier/ClangNamedModulesQuerier.cpp b/clang/tools/clang-named-modules-querier/ClangNamedModulesQuerier.cpp index 13503578c2..487872e609 100644 --- a/clang/tools/clang-named-modules-querier/ClangNamedModulesQuerier.cpp +++ b/clang/tools/clang-named-modules-querier/ClangNamedModulesQuerier.cpp @@ -8,15 +8,15 @@ #include "GetDeclsInfoToJson.h" -#include "clang/Frontend/CompilerInstance.h" #include "clang/AST/ASTConsumer.h" +#include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendAction.h" #include "clang/Serialization/ASTDeserializationListener.h" #include "clang/Serialization/ASTReader.h" #include "llvm/ADT/StringMap.h" -#include "llvm/Support/LLVMDriver.h" #include "llvm/Support/JSON.h" +#include "llvm/Support/LLVMDriver.h" using namespace clang; @@ -25,8 +25,8 @@ class DeclsQueryAction : public ASTFrontendAction { llvm::json::Array JsonOutput; public: - DeclsQueryAction(std::vector<std::string> &&QueryingDeclNames) : - QueryingDeclNames(QueryingDeclNames) {} + DeclsQueryAction(std::vector<std::string> &&QueryingDeclNames) + : QueryingDeclNames(QueryingDeclNames) {} bool BeginInvocation(CompilerInstance &CI) override { CI.getHeaderSearchOpts().ModuleFormat = "raw"; @@ -34,7 +34,8 @@ public: } DeclContext *getDeclContextByName(ASTReader *Reader, StringRef Name); - std::optional<SmallVector<NamedDecl *>> getDeclsByName(ASTReader *Reader, StringRef Name); + std::optional<SmallVector<NamedDecl *>> getDeclsByName(ASTReader *Reader, + StringRef Name); std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI, StringRef InFile) override { @@ -47,7 +48,8 @@ public: assert(isCurrentFileAST() && "dumping non-AST?"); ASTReader *Reader = getCurrentASTUnit().getASTReader().get(); - serialization::ModuleFile &MF = Reader->getModuleManager().getPrimaryModule(); + serialization::ModuleFile &MF = + Reader->getModuleManager().getPrimaryModule(); if (!MF.StandardCXXModule) { llvm::errs() << "We should only consider standard C++20 Modules.\n"; return; @@ -57,7 +59,8 @@ public: QueryDecls(Reader, Name); CompilerInstance &CI = getCompilerInstance(); - std::unique_ptr<raw_pwrite_stream> OS = CI.createDefaultOutputFile(/*Binary=*/false); + std::unique_ptr<raw_pwrite_stream> OS = + CI.createDefaultOutputFile(/*Binary=*/false); if (!OS) { llvm::errs() << "Failed to create output file\n"; return; @@ -75,7 +78,8 @@ static DeclContext *getDeclContext(NamedDecl *ND) { return dyn_cast<DeclContext>(ND); } -static DeclContext *getDeclContextFor(const SmallVector<NamedDecl *> &DCCandidates) { +static DeclContext * +getDeclContextFor(const SmallVector<NamedDecl *> &DCCandidates) { DeclContext *Result = nullptr; for (auto *ND : DCCandidates) { @@ -97,18 +101,21 @@ static DeclContext *getDeclContextFor(const SmallVector<NamedDecl *> &DCCandidat return Result; } -DeclContext *DeclsQueryAction::getDeclContextByName(ASTReader *Reader, StringRef Name) { +DeclContext *DeclsQueryAction::getDeclContextByName(ASTReader *Reader, + StringRef Name) { if (Name.empty()) return Reader->getContext().getTranslationUnitDecl(); - std::optional<SmallVector<NamedDecl *>> DCCandidates = getDeclsByName(Reader, Name); + std::optional<SmallVector<NamedDecl *>> DCCandidates = + getDeclsByName(Reader, Name); if (!DCCandidates || DCCandidates->empty()) return nullptr; return getDeclContextFor(*DCCandidates); } -std::optional<SmallVector<NamedDecl *>> DeclsQueryAction::getDeclsByName(ASTReader *Reader, StringRef Name) { +std::optional<SmallVector<NamedDecl *>> +DeclsQueryAction::getDeclsByName(ASTReader *Reader, StringRef Name) { if (Name.endswith("::")) return std::nullopt; @@ -154,17 +161,18 @@ void DeclsQueryAction::QueryDecls(ASTReader *Reader, StringRef Name) { // TODO: Print --help information // TODO: Add -resource-dir automatically -int clang_named_modules_querier_main(int argc, char **argv, const llvm::ToolContext &) { +int clang_named_modules_querier_main(int argc, char **argv, + const llvm::ToolContext &) { IntrusiveRefCntPtr<DiagnosticsEngine> Diags = - CompilerInstance::createDiagnostics(new DiagnosticOptions()); + CompilerInstance::createDiagnostics(new DiagnosticOptions()); CreateInvocationOptions CIOpts; CIOpts.Diags = Diags; CIOpts.VFS = llvm::vfs::createPhysicalFileSystem(); llvm::ArrayRef<const char *> Args(argv, argv + argc); if (llvm::find_if(Args, [](auto &&Arg) { - return std::strcmp(Arg, "--help") == 0; - }) != Args.end()) { + return std::strcmp(Arg, "--help") == 0; + }) != Args.end()) { llvm::outs() << R"cpp( To query the decls from module files. @@ -184,10 +192,9 @@ line and col number and the hash value of declaration. return 0; } - auto DashDashIter = llvm::find_if(Args, [](auto &&V){ - return std::strcmp(V, "--") == 0; - }); - + auto DashDashIter = + llvm::find_if(Args, [](auto &&V) { return std::strcmp(V, "--") == 0; }); + std::vector<std::string> QueryingDeclNames; auto Iter = DashDashIter; // Don't record "--". @@ -201,8 +208,8 @@ line and col number and the hash value of declaration. return 0; } - std::shared_ptr<CompilerInvocation> Invocation = - createInvocation(llvm::ArrayRef<const char *>(argv, DashDashIter), CIOpts); + std::shared_ptr<CompilerInvocation> Invocation = createInvocation( + llvm::ArrayRef<const char *>(argv, DashDashIter), CIOpts); CompilerInstance Instance; Instance.setDiagnostics(Diags.get()); diff --git a/clang/tools/clang-named-modules-querier/GetDeclsInfoToJson.h b/clang/tools/clang-named-modules-querier/GetDeclsInfoToJson.h index ff250a87c0..54bceaec33 100644 --- a/clang/tools/clang-named-modules-querier/GetDeclsInfoToJson.h +++ b/clang/tools/clang-named-modules-querier/GetDeclsInfoToJson.h @@ -32,17 +32,20 @@ inline unsigned getHashValue(const NamedDecl *ND) { return Hasher.CalculateHash(); } -inline llvm::json::Object getDeclInJson(const NamedDecl *ND, SourceManager &SMgr) { +inline llvm::json::Object getDeclInJson(const NamedDecl *ND, + SourceManager &SMgr) { llvm::json::Object DeclObject; DeclObject.try_emplace("kind", ND->getDeclKindName()); FullSourceLoc FSL(ND->getLocation(), SMgr); const FileEntry *FE = SMgr.getFileEntryForID(FSL.getFileID()); - DeclObject.try_emplace("source File Name", FE ? FE->getName() : "Unknown Source File"); + DeclObject.try_emplace("source File Name", + FE ? FE->getName() : "Unknown Source File"); DeclObject.try_emplace("line", FSL.getSpellingLineNumber()); DeclObject.try_emplace("col", FSL.getSpellingColumnNumber()); DeclObject.try_emplace("Hash", getHashValue(ND)); - return llvm::json::Object({{ND->getQualifiedNameAsString(), std::move(DeclObject)}}); -} + return llvm::json::Object( + {{ND->getQualifiedNameAsString(), std::move(DeclObject)}}); } +} // namespace clang #endif diff --git a/clang/tools/clang-named-modules-querier/GetUsedDeclActionPlugin.cpp b/clang/tools/clang-named-modules-querier/GetUsedDeclActionPlugin.cpp index a66eecbb94..6cf7d7cb78 100644 --- a/clang/tools/clang-named-modules-querier/GetUsedDeclActionPlugin.cpp +++ b/clang/tools/clang-named-modules-querier/GetUsedDeclActionPlugin.cpp @@ -1,4 +1,5 @@ -//===- GetUsedDeclActionPlugin.cpp -----------------------------------------===// +//===- GetUsedDeclActionPlugin.cpp +//-----------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -8,10 +9,10 @@ #include "GetDeclsInfoToJson.h" -#include "clang/Frontend/FrontendPluginRegistry.h" -#include "clang/Frontend/CompilerInstance.h" #include "clang/AST/ASTConsumer.h" +#include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendAction.h" +#include "clang/Frontend/FrontendPluginRegistry.h" #include "clang/Serialization/ASTDeserializationListener.h" #include "llvm/ADT/StringMap.h" @@ -23,27 +24,32 @@ namespace clang { class DeclsQuerier : public ASTDeserializationListener { public: void DeclRead(serialization::DeclID ID, const Decl *D) override { - // We only cares about function decls, var decls, tag decls (class, struct, enum, union). + // We only cares about function decls, var decls, tag decls (class, struct, + // enum, union). if (!isa<NamedDecl>(D)) return; - - // We only records the template declaration if the declaration is placed in templates. - if (auto *FD = dyn_cast<FunctionDecl>(D); FD && FD->getDescribedFunctionTemplate()) + + // We only records the template declaration if the declaration is placed in + // templates. + if (auto *FD = dyn_cast<FunctionDecl>(D); + FD && FD->getDescribedFunctionTemplate()) return; if (auto *VD = dyn_cast<VarDecl>(D); VD && VD->getDescribedVarTemplate()) return; - if (auto *CRD = dyn_cast<CXXRecordDecl>(D); CRD && CRD->getDescribedClassTemplate()) + if (auto *CRD = dyn_cast<CXXRecordDecl>(D); + CRD && CRD->getDescribedClassTemplate()) return; - if (isa<TemplateTypeParmDecl, NonTypeTemplateParmDecl, TemplateTemplateParmDecl>(D)) + if (isa<TemplateTypeParmDecl, NonTypeTemplateParmDecl, + TemplateTemplateParmDecl>(D)) return; - - // We don't care about declarations in function scope. + + // We don't care about declarations in function scope. if (isa<FunctionDecl>(D->getDeclContext())) return; - + // Skip implicit declarations. if (D->isImplicit()) return; @@ -56,8 +62,9 @@ public: StringRef ModuleName = M->Name; auto Iter = Names.find(ModuleName); if (Iter == Names.end()) - Iter = Names.try_emplace(ModuleName, std::vector<const NamedDecl*>()).first; - + Iter = + Names.try_emplace(ModuleName, std::vector<const NamedDecl *>()).first; + Iter->second.push_back(cast<NamedDecl>(D)); } @@ -69,10 +76,11 @@ class DeclsQuerierConsumer : public ASTConsumer { StringRef InFile; std::string OutputFile; DeclsQuerier Querier; - + public: - DeclsQuerierConsumer(CompilerInstance &CI, StringRef InFile, StringRef OutputFile) - : CI(CI), InFile(InFile), OutputFile(OutputFile) {} + DeclsQuerierConsumer(CompilerInstance &CI, StringRef InFile, + StringRef OutputFile) + : CI(CI), InFile(InFile), OutputFile(OutputFile) {} ASTDeserializationListener *GetASTDeserializationListener() override { return &Querier; @@ -89,7 +97,7 @@ public: auto OS = std::make_unique<llvm::raw_fd_ostream>(OutputFile, EC); if (EC) return nullptr; - + return OS; } @@ -130,7 +138,6 @@ public: DeclsQueryAction(StringRef OutputFile) : OutputFile(OutputFile) {} DeclsQueryAction() = default; - std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI, StringRef InFile) override { return std::make_unique<DeclsQuerierConsumer>(CI, InFile, OutputFile); @@ -163,7 +170,7 @@ If you're using plugin, use -fplugin-arg-decls_query_from_modules-output=<output to specify the output path of used decls. )cpp"; } -} +} // namespace clang static clang::FrontendPluginRegistry::Add<clang::DeclsQueryAction> -X("decls_query_from_modules", "query used decls from modules"); + X("decls_query_from_modules", "query used decls from modules"); diff --git a/clang/tools/clang-named-modules-querier/GetUsedFilesFromModulesPlugin.cpp b/clang/tools/clang-named-modules-querier/GetUsedFilesFromModulesPlugin.cpp index bf244861e2..1acb018fb7 100644 --- a/clang/tools/clang-named-modules-querier/GetUsedFilesFromModulesPlugin.cpp +++ b/clang/tools/clang-named-modules-querier/GetUsedFilesFromModulesPlugin.cpp @@ -6,10 +6,10 @@ // //===----------------------------------------------------------------------===// -#include "clang/Frontend/FrontendPluginRegistry.h" -#include "clang/Frontend/CompilerInstance.h" #include "clang/AST/ASTConsumer.h" +#include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendAction.h" +#include "clang/Frontend/FrontendPluginRegistry.h" #include "clang/Serialization/ASTDeserializationListener.h" #include "llvm/ADT/StringMap.h" @@ -24,7 +24,7 @@ public: if (!D->getLexicalDeclContext()) return; - if (!isa<FunctionDecl>(D) && + if (!isa<FunctionDecl>(D) && !D->getLexicalDeclContext()->getRedeclContext()->isFileContext()) return; @@ -45,10 +45,11 @@ class DeclsQuerierConsumer : public ASTConsumer { StringRef InFile; std::string OutputFile; DeclsQuerier Querier; - + public: - DeclsQuerierConsumer(CompilerInstance &CI, StringRef InFile, StringRef OutputFile) - : CI(CI), InFile(InFile), OutputFile(OutputFile) {} + DeclsQuerierConsumer(CompilerInstance &CI, StringRef InFile, + StringRef OutputFile) + : CI(CI), InFile(InFile), OutputFile(OutputFile) {} ASTDeserializationListener *GetASTDeserializationListener() override { return &Querier; @@ -65,7 +66,7 @@ public: auto OS = std::make_unique<llvm::raw_fd_ostream>(OutputFile, EC); if (EC) return nullptr; - + return OS; } @@ -75,12 +76,12 @@ public: return; auto &SMgr = Ctx.getSourceManager(); - + for (const auto &FID : Querier.FileIDSet) { const FileEntry *FE = SMgr.getFileEntryForID(FID); if (!FE) continue; - + *OS << FE->getName() << "\n"; } } @@ -125,7 +126,7 @@ If you're using plugin, use -fplugin-arg-get_used_files_from_modules-output=<out to specify the output path of used files. )cpp"; } -} +} // namespace clang static clang::FrontendPluginRegistry::Add<clang::DeclsQueryAction> -X("get_used_files_from_modules", "get used files from modules"); + X("get_used_files_from_modules", "get used files from modules"); `````````` </details> https://github.com/llvm/llvm-project/pull/72956 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits