reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/AST/ASTContext.h
  103 class Module;
tools/clang/include/clang/AST/ASTMutationListener.h
   28   class Module;
tools/clang/include/clang/AST/Decl.h
   65 class Module;
tools/clang/include/clang/AST/DeclBase.h
   53 class Module;
tools/clang/include/clang/Frontend/CompilerInstance.h
   48 class Module;
tools/clang/include/clang/Frontend/FrontendActions.h
   18 class Module;
tools/clang/include/clang/Index/USRGeneration.h
   19 class Module;
tools/clang/include/clang/Lex/DirectoryLookup.h
   25 class Module;
tools/clang/include/clang/Lex/ExternalPreprocessorSource.h
   19 class Module;
tools/clang/include/clang/Lex/HeaderSearch.h
   44 class Module;
tools/clang/include/clang/Lex/MacroInfo.h
   32 class Module;
tools/clang/include/clang/Serialization/ASTDeserializationListener.h
   27 class Module;
tools/clang/include/clang/Serialization/ASTWriter.h
   77 class Module;
tools/clang/lib/CodeGen/CodeGenModule.h
   78 class Module;
tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.h
   35 class Module;
tools/lldb/include/lldb/Core/ClangForward.h
   75 class Module;

References

include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTContext.h
  413   llvm::DenseMap<NamedDecl*, llvm::TinyPtrVector<Module*>> MergedDefModules;
  425   llvm::DenseMap<Module*, PerModuleInitializers*> ModuleInitializers;
  980   void mergeDefinitionIntoModule(NamedDecl *ND, Module *M,
  989   ArrayRef<Module*> getModulesWithMergedDefinition(const NamedDecl *Def) {
 1001   void addModuleInitializer(Module *M, Decl *Init);
 1003   void addLazyModuleInitializers(Module *M, ArrayRef<uint32_t> IDs);
 1006   ArrayRef<Decl*> getModuleInitializers(Module *M);
tools/clang/include/clang/AST/ASTMutationListener.h
  140   virtual void RedefinedHiddenDefinition(const NamedDecl *D, Module *M) {}
tools/clang/include/clang/AST/Decl.h
 4265   llvm::PointerIntPair<Module *, 1, bool> ImportedAndComplete;
 4271   ImportDecl(DeclContext *DC, SourceLocation StartLoc, Module *Imported,
 4274   ImportDecl(DeclContext *DC, SourceLocation StartLoc, Module *Imported,
 4282                             SourceLocation StartLoc, Module *Imported,
 4288                                     SourceLocation StartLoc, Module *Imported,
 4296   Module *getImportedModule() const { return ImportedAndComplete.getPointer(); }
tools/clang/include/clang/AST/DeclBase.h
  721   Module *getOwningModuleSlow() const;
  729   Module *getImportedOwningModule() const {
  738   Module *getLocalOwningModule() const {
  746   void setLocalOwningModule(Module *M) {
  759   Module *getOwningModule() const {
  768   Module *getOwningModuleForLinkage(bool IgnoreLinkage = false) const;
tools/clang/include/clang/AST/ExternalASTSource.h
  163   virtual Module *getModule(unsigned ID) { return nullptr; }
  177     const Module *ClangModule = nullptr;
  185     ASTSourceDescriptor(const Module &M);
  191     const Module *getModuleOrNull() const { return ClangModule; }
tools/clang/include/clang/Basic/Module.h
   92   Module *Parent;
  123   std::vector<Module *> SubModules;
  140   mutable llvm::DenseSet<const Module*> VisibleModulesCache;
  207   Module *ShadowingModule = nullptr;
  288   llvm::SmallSetVector<Module *, 2> Imports;
  294   using ExportDecl = llvm::PointerIntPair<Module *, 1, bool>;
  318   SmallVector<Module *, 2> DirectUses;
  368     Module *Other;
  378   Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent,
  408                    Module *&ShadowingModule) const;
  415   bool isSubModuleOf(const Module *Other) const;
  421     for (const Module *Mod = this; Mod; Mod = Mod->Parent)
  436   void setParent(Module *M) {
  457   Module *getTopLevelModule() {
  464   const Module *getTopLevelModule() const;
  517   bool directlyUses(const Module *Requested) const;
  543   Module *findSubmodule(StringRef Name) const;
  544   Module *findOrInferSubmodule(StringRef Name);
  552   bool isModuleVisible(const Module *M) const {
  560   using submodule_iterator = std::vector<Module *>::iterator;
  561   using submodule_const_iterator = std::vector<Module *>::const_iterator;
  579   void getExportedModules(SmallVectorImpl<Module *> &Exported) const;
  620   bool isVisible(const Module *M) const {
  625   SourceLocation getImportLoc(const Module *M) const {
  633   using VisibleCallback = llvm::function_ref<void(Module *M)>;
  639       llvm::function_ref<void(ArrayRef<Module *> Path, Module *Conflict,
  639       llvm::function_ref<void(ArrayRef<Module *> Path, Module *Conflict,
  643   void setVisible(Module *M, SourceLocation Loc,
  644                   VisibleCallback Vis = [](Module *) {},
  645                   ConflictCallback Cb = [](ArrayRef<Module *>, Module *,
  645                   ConflictCallback Cb = [](ArrayRef<Module *>, Module *,
tools/clang/include/clang/Frontend/CompilerInstance.h
  131   llvm::DenseMap<const IdentifierInfo *, Module *> KnownModules;
  794                               Module::NameVisibilityKind Visibility,
  800   void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
  800   void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
tools/clang/include/clang/Frontend/FrontendAction.h
  161   Module *getCurrentModule() const;
tools/clang/include/clang/Frontend/MultiplexConsumer.h
   42   void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override;
tools/clang/include/clang/Index/IndexDataConsumer.h
   61                                      const Module *Mod, SymbolRoleSet Roles,
tools/clang/include/clang/Index/USRGeneration.h
   82 bool generateFullUSRForModule(const Module *Mod, raw_ostream &OS);
   90 bool generateUSRFragmentForModule(const Module *Mod, raw_ostream &OS);
tools/clang/include/clang/Lex/DirectoryLookup.h
  183              SmallVectorImpl<char> *RelativePath, Module *RequestingModule,
  191       SmallVectorImpl<char> *RelativePath, Module *RequestingModule,
tools/clang/include/clang/Lex/ExternalPreprocessorSource.h
   42   virtual Module *getModule(unsigned ModuleID) = 0;
tools/clang/include/clang/Lex/HeaderSearch.h
  397       Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule,
  410       Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule);
  425                               Module *M);
  493   std::string getCachedModuleFileName(Module *Module);
  533   Module *lookupModule(StringRef ModuleName, bool AllowSearch = true,
  582   void collectAllModules(SmallVectorImpl<Module *> &Modules);
  601   Module *lookupModule(StringRef ModuleName, StringRef SearchName,
  615   Module *loadFrameworkModule(StringRef Name,
  629                                  Module *RequestingModule,
  639       const FileEntry *File, StringRef FrameworkName, Module *RequestingModule,
  647                           Module *RequestingModule,
tools/clang/include/clang/Lex/MacroInfo.h
  498   Module *OwningModule;
  506   ModuleMacro(Module *OwningModule, IdentifierInfo *II, MacroInfo *Macro,
  515   static ModuleMacro *create(Preprocessor &PP, Module *OwningModule,
  523   static void Profile(llvm::FoldingSetNodeID &ID, Module *OwningModule,
  533   Module *getOwningModule() const { return OwningModule; }
tools/clang/include/clang/Lex/ModuleLoader.h
   49   llvm::PointerIntPair<Module *, 2, LoadResultKind> Storage;
   52   ModuleLoadResult(Module *M) : Storage(M, Normal) {}
   55   operator Module *() const { return Storage.getPointer(); }
  114                                       Module::NameVisibilityKind Visibility,
  128   virtual void makeModuleVisible(Module *Mod,
  129                                  Module::NameVisibilityKind Visibility,
  159                               Module::NameVisibilityKind Visibility,
  167   void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
  167   void makeModuleVisible(Module *Mod, Module::NameVisibilityKind Visibility,
tools/clang/include/clang/Lex/ModuleMap.h
   94   Module *SourceModule = nullptr;
   98   llvm::SmallVector<std::unique_ptr<Module>, 8> PendingSubmodules;
  101   llvm::StringMap<Module *> Modules;
  104   llvm::SmallVector<Module*, 2> ShadowModules;
  116   void resolveLinkAsDependencies(Module *Mod);
  120   void addLinkAsDependency(Module *Mod);
  143   static ModuleHeaderRole headerKindToRole(Module::HeaderKind Kind);
  146   static Module::HeaderKind headerRoleToKind(ModuleHeaderRole Role);
  151     llvm::PointerIntPair<Module *, 2, ModuleHeaderRole> Storage;
  155     KnownHeader(Module *M, ModuleHeaderRole Role) : Storage(M, Role) {}
  165     Module *getModule() const { return Storage.getPointer(); }
  176     bool isAccessibleFrom(Module *M) const {
  201   mutable llvm::DenseMap<off_t, llvm::TinyPtrVector<Module*>> LazyHeadersBySize;
  204   mutable llvm::DenseMap<time_t, llvm::TinyPtrVector<Module*>>
  213   llvm::DenseMap<const DirectoryEntry *, Module *> UmbrellaDirs;
  222   llvm::DenseMap<Module *, unsigned> ModuleScopeIDs;
  269   llvm::DenseMap<const Module *, const FileEntry *> InferredModuleAllowedBy;
  271   llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
  289   Module::ExportDecl
  290   resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved,
  290   resolveExport(Module *Mod, const Module::UnresolvedExportDecl &Unresolved,
  304   Module *resolveModuleId(const ModuleId &Id, Module *Mod, bool Complain) const;
  313   void addUnresolvedHeader(Module *Mod,
  314                            Module::UnresolvedHeaderDirective Header,
  326   const FileEntry *findHeader(Module *M,
  327                               const Module::UnresolvedHeaderDirective &Header,
  337   void resolveHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
  337   void resolveHeader(Module *M, const Module::UnresolvedHeaderDirective &Header,
  343   bool resolveAsBuiltinHeader(Module *M,
  344                               const Module::UnresolvedHeaderDirective &Header);
  373   Module *inferFrameworkModule(const DirectoryEntry *FrameworkDir,
  374                                Attributes Attrs, Module *Parent);
  446   void resolveHeaderDirectives(Module *Mod) const;
  462   void diagnoseHeaderInclusion(Module *RequestingModule,
  474                                    const Module *RequestingModule) const;
  481   Module *findModule(StringRef Name) const;
  492   Module *lookupModuleUnqualified(StringRef Name, Module *Context) const;
  492   Module *lookupModuleUnqualified(StringRef Name, Module *Context) const;
  503   Module *lookupModuleQualified(StringRef Name, Module *Context) const;
  503   Module *lookupModuleQualified(StringRef Name, Module *Context) const;
  519   std::pair<Module *, bool> findOrCreateModule(StringRef Name, Module *Parent,
  519   std::pair<Module *, bool> findOrCreateModule(StringRef Name, Module *Parent,
  528   Module *createGlobalModuleFragmentForModuleUnit(SourceLocation Loc);
  531   Module *createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
  531   Module *createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
  541   Module *createModuleForInterfaceUnit(SourceLocation Loc, StringRef Name,
  542                                        Module *GlobalModule);
  545   Module *createHeaderModule(StringRef Name, ArrayRef<Module::Header> Headers);
  545   Module *createHeaderModule(StringRef Name, ArrayRef<Module::Header> Headers);
  549   Module *inferFrameworkModule(const DirectoryEntry *FrameworkDir,
  550                                bool IsSystem, Module *Parent);
  554   Module *createShadowedModule(StringRef Name, bool IsFramework,
  555                                Module *ShadowingModule);
  564   bool mayShadowNewModule(Module *ExistingModule) {
  577   const FileEntry *getContainingModuleMapFile(const Module *Module) const;
  588   const FileEntry *getModuleMapFileForUniquing(const Module *M) const;
  590   void setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap);
  603   void addAdditionalModuleMapFile(const Module *M, const FileEntry *ModuleMap) {
  615   bool resolveExports(Module *Mod, bool Complain);
  625   bool resolveUses(Module *Mod, bool Complain);
  635   bool resolveConflicts(Module *Mod, bool Complain);
  639   void setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader,
  644   void setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir,
  649   void addHeader(Module *Mod, Module::Header Header,
  649   void addHeader(Module *Mod, Module::Header Header,
  653   void excludeHeader(Module *Mod, Module::Header Header);
  653   void excludeHeader(Module *Mod, Module::Header Header);
  683   using module_iterator = llvm::StringMap<Module *>::const_iterator;
tools/clang/include/clang/Lex/PPCallbacks.h
  130                                   const Module *Imported,
  142   virtual void EnteredSubmodule(Module *M, SourceLocation ImportLoc,
  153   virtual void LeftSubmodule(Module *M, SourceLocation ImportLoc,
  168                             const Module *Imported) {
  408                           const Module *Imported,
  418   void EnteredSubmodule(Module *M, SourceLocation ImportLoc,
  424   void LeftSubmodule(Module *M, SourceLocation ImportLoc,
  431                     const Module *Imported) override {
tools/clang/include/clang/Lex/PreprocessingRecord.h
  535                             StringRef RelativePath, const Module *Imported,
tools/clang/include/clang/Lex/Preprocessor.h
  514   Module *CurLexerSubmodule = nullptr;
  521     Module                     *TheSubmodule;
  529     IncludeStackInfo(enum CurLexerKind CurLexerKind, Module *TheSubmodule,
  704     Module *M;
  718     BuildingSubmoduleInfo(Module *M, SourceLocation ImportLoc, bool IsPragma,
  738   std::map<Module *, SubmoduleState> Submodules;
  985   Module *getCurrentLexerSubmodule() const { return CurLexerSubmodule; }
 1022   bool isMacroDefinedInLocalModule(const IdentifierInfo *II, Module *M) {
 1113   ModuleMacro *addModuleMacro(Module *Mod, IdentifierInfo *II, MacroInfo *Macro,
 1115   ModuleMacro *getModuleMacro(Module *Mod, IdentifierInfo *II);
 1368   void makeModuleVisible(Module *M, SourceLocation Loc);
 1370   SourceLocation getModuleImportLoc(Module *M) const {
 1880   void diagnoseMissingHeaderInUmbrellaDir(const Module &Mod);
 1937   Module *getCurrentModule();
 1982   void EnterSubmodule(Module *M, SourceLocation ImportLoc, bool ForPragma);
 1983   Module *LeaveSubmodule(bool ForPragma);
 2198     Module *ModuleForHeader = nullptr;
 2200     ImportAction(ActionKind AK, Module *Mod = nullptr)
 2235                                      DiagnosticsEngine &Diags, Module *M);
 2241   Module *getModuleForLocation(SourceLocation Loc);
 2255                                                           Module *M,
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  152   Module *getModule(unsigned ID) override;
tools/clang/include/clang/Sema/Sema.h
 1698     clang::Module *Module = nullptr;
 1710   Module *getCurrentModule() const {
 1718   Module *getOwningModule(Decl *Entity) { return Entity->getOwningModule(); }
 1724   bool isModuleVisible(const Module *M, bool ModulePrivate = false);
 1734                         llvm::SmallVectorImpl<Module *> *Modules = nullptr) {
 1738                                  llvm::SmallVectorImpl<Module *> *Modules);
 1759                             llvm::SmallVectorImpl<Module *> *Modules = nullptr);
 1765       const NamedDecl *D, llvm::SmallVectorImpl<Module *> *Modules = nullptr);
 1770       const NamedDecl *D, llvm::SmallVectorImpl<Module *> *Modules = nullptr);
 2383                                SourceLocation ImportLoc, Module *M,
 2388   void ActOnModuleInclude(SourceLocation DirectiveLoc, Module *Mod);
 2389   void BuildModuleInclude(SourceLocation DirectiveLoc, Module *Mod);
 2392   void ActOnModuleBegin(SourceLocation DirectiveLoc, Module *Mod);
 2394   void ActOnModuleEnd(SourceLocation DirectiveLoc, Module *Mod);
 2403                                                   Module *Mod);
 2420                              SourceLocation DeclLoc, ArrayRef<Module *> Modules,
 7830   SmallVector<Module*, 16> CodeSynthesisContextLookupModules;
 7835   llvm::DenseSet<Module*> LookupModulesCache;
 7840   llvm::DenseSet<Module*> &getLookupModules();
tools/clang/include/clang/Serialization/ASTDeserializationListener.h
   54   virtual void ModuleRead(serialization::SubmoduleID ID, Module *Mod) {}
tools/clang/include/clang/Serialization/ASTReader.h
  666   SmallVector<Module *, 2> SubmodulesLoaded;
  678   using HiddenNamesMapType = llvm::DenseMap<Module *, HiddenNames>;
  690     Module *Mod;
 1563   void makeModuleVisible(Module *Mod,
 1564                          Module::NameVisibilityKind NameVisibility,
 1568   void makeNamesVisible(const HiddenNames &Names, Module *Owner);
 2092   Module *getSubmodule(serialization::SubmoduleID GlobalID);
 2097   Module *getModule(unsigned ID) override;
 2429   Module *getSubmodule(serialization::SubmoduleID GlobalID) {
tools/clang/include/clang/Serialization/ASTWriter.h
  147   Module *WritingModule = nullptr;
  346       Module *Mod;
  358     DeclUpdate(unsigned Kind, Module *M) : Kind(Kind), Mod(M) {}
  371     Module *getModule() const { return Mod; }
  447   llvm::DenseMap<Module *, unsigned> SubmoduleIDs;
  454   unsigned getSubmoduleID(Module *Mod);
  477   void WriteSubmodules(Module *WritingModule);
  539                                 Module *WritingModule);
  572                             Module *WritingModule, StringRef isysroot,
  658   unsigned getLocalOrImportedSubmoduleID(Module *Mod);
  710   void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override;
  742   void RedefinedHiddenDefinition(const NamedDecl *D, Module *M) override;
tools/clang/lib/AST/ASTContext.cpp
 1035 void ASTContext::mergeDefinitionIntoModule(NamedDecl *ND, Module *M,
 1050   llvm::DenseSet<Module*> Found;
 1051   for (Module *&M : Merged)
 1074 void ASTContext::addModuleInitializer(Module *M, Decl *D) {
 1100 void ASTContext::addLazyModuleInitializers(Module *M, ArrayRef<uint32_t> IDs) {
 1108 ArrayRef<Decl *> ASTContext::getModuleInitializers(Module *M) {
tools/clang/lib/AST/Decl.cpp
  572   if (auto *M = D->getOwningModule())
 1506 Module *Decl::getOwningModuleForLinkage(bool IgnoreLinkage) const {
 1507   Module *M = getOwningModule();
 1512   case Module::ModuleMapModule:
 1516   case Module::ModuleInterfaceUnit:
 1519   case Module::GlobalModuleFragment: {
 1537   case Module::PrivateModuleFragment:
 4831 static unsigned getNumModuleIdentifiers(Module *Mod) {
 4841                        Module *Imported,
 4851                        Module *Imported, SourceLocation EndLoc)
 4857                                SourceLocation StartLoc, Module *Imported,
 4866                                        Module *Imported,
tools/clang/lib/AST/DeclBase.cpp
  103         llvm::offsetToAlignment(sizeof(Module *), llvm::Align(alignof(Decl)));
  105         ::operator new(ExtraAlign + sizeof(Module *) + Size + Extra, Ctx));
  107     auto *ParentModule =
  109     return new (Buffer) Module*(ParentModule) + 1;
  114 Module *Decl::getOwningModuleSlow() const {
tools/clang/lib/AST/ExternalASTSource.cpp
   39 ExternalASTSource::ASTSourceDescriptor::ASTSourceDescriptor(const Module &M)
tools/clang/lib/AST/ItaniumMangle.cpp
  465   void mangleModuleName(const Module *M);
  882     if (Module *M = ND->getOwningModuleForLinkage())
  901 void CXXNameMangler::mangleModuleName(const Module *M) {
tools/clang/lib/AST/TextNodeDumper.cpp
  239   if (Module *M = D->getOwningModule())
  242     for (Module *M : D->getASTContext().getModulesWithMergedDefinition(
tools/clang/lib/Basic/Module.cpp
   37 Module::Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent,
  138                          Module *&ShadowingModule) const {
  142   for (const Module *Current = this; Current; Current = Current->Parent) {
  163 bool Module::isSubModuleOf(const Module *Other) const {
  164   const Module *This = this;
  175 const Module *Module::getTopLevelModule() const {
  176   const Module *Result = this;
  217   for (const Module *M = this; M; M = M->Parent)
  230   for (const Module *M = this; M; M = M->Parent) {
  238 Module::DirectoryName Module::getUmbrellaDir() const {
  258 bool Module::directlyUses(const Module *Requested) const {
  265   for (auto *Use : Top->DirectUses)
  296   SmallVector<Module *, 2> Stack;
  299     Module *Current = Stack.back();
  316 Module *Module::findSubmodule(StringRef Name) const {
  324 Module *Module::findOrInferSubmodule(StringRef Name) {
  330   Module *Result = new Module(Name, SourceLocation(), this, false, InferExplicitSubmodules, 0);
  330   Module *Result = new Module(Name, SourceLocation(), this, false, InferExplicitSubmodules, 0);
  339 void Module::getExportedModules(SmallVectorImpl<Module *> &Exported) const {
  341   for (std::vector<Module *>::const_iterator I = SubModules.begin(),
  344     Module *Mod = *I;
  352   SmallVector<Module *, 4> WildcardRestrictions;
  354     Module *Mod = Exports[I].getPointer();
  368     if (Module *Restriction = Exports[I].getPointer())
  382     Module *Mod = Imports[I];
  387         Module *Restriction = WildcardRestrictions[R];
  409   SmallVector<Module *, 16> Stack(Imports.begin(), Imports.end());
  411     Module *CurrModule = Stack.pop_back_val();
  530     if (Module *Restriction = Exports[I].getPointer()) {
  612 void VisibleModuleSet::setVisible(Module *M, SourceLocation Loc,
  621     Module *M;
  637     SmallVector<Module *, 16> Exports;
  639     for (Module *E : Exports) {
  647         llvm::SmallVector<Module*, 8> Path;
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 2373   const Module *M = Mod.getModuleOrNull();
 2986     if (Module *M = D->getOwningModule()) {
 4583   if (Module *M = ID.getImportedModule()) {
tools/clang/lib/CodeGen/CGDebugInfo.h
  109   llvm::DenseMap<const Module *, llvm::TrackingMDRef> ModuleCache;
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1956 static void addLinkOptionsPostorder(CodeGenModule &CGM, Module *Mod,
 1958                                     llvm::SmallPtrSet<Module *, 16> &Visited) {
 2013   llvm::SetVector<clang::Module *> LinkModules;
 2014   llvm::SmallPtrSet<clang::Module *, 16> Visited;
 2015   SmallVector<clang::Module *, 16> Stack;
 2018   for (Module *M : ImportedModules) {
 2031     clang::Module *Mod = Stack.pop_back_val();
 2060   for (Module *M : LinkModules)
 5410     llvm::SmallPtrSet<clang::Module *, 16> Visited;
 5411     SmallVector<clang::Module *, 16> Stack;
 5416       clang::Module *Mod = Stack.pop_back_val();
 5424       for (clang::Module::submodule_iterator Sub = Mod->submodule_begin(),
tools/clang/lib/CodeGen/CodeGenModule.h
  467   llvm::SetVector<clang::Module *> ImportedModules;
  471   llvm::SmallPtrSet<clang::Module *, 16> EmittedModuleInitializers;
tools/clang/lib/CodeGen/MacroPPCallbacks.cpp
  171     StringRef SearchPath, StringRef RelativePath, const Module *Imported,
tools/clang/lib/CodeGen/MacroPPCallbacks.h
  106                           const Module *Imported,
tools/clang/lib/Frontend/ASTUnit.cpp
  928     if (const Module *Mod = ImportD->getImportedModule()) {
tools/clang/lib/Frontend/CompilerInstance.cpp
 1187                               Module *Module,
 1250                                  SourceLocation ModuleNameLoc, Module *Module,
 1334                              Module *Mod, SourceLocation ImportLoc) {
 1555         if (Module *M = CI.getPreprocessor()
 1563           SmallVector<Module *, 2> Stack;
 1566             Module *Current = Stack.pop_back_val();
 1621                              Module::NameVisibilityKind Visibility,
 1638   clang::Module *Module = nullptr;
 1641   llvm::DenseMap<const IdentifierInfo *, clang::Module *>::iterator Known
 1860       clang::Module *Sub = Module->findSubmodule(Name);
 1901         for (clang::Module::submodule_iterator J = Module->submodule_begin(),
 1974   clang::Module *TopModule = Module->getTopLevelModule();
 2044 void CompilerInstance::makeModuleVisible(Module *Mod,
 2045                                          Module::NameVisibilityKind Visibility,
 2094       Module *TheModule = I->second;
 2102         loadModule(TheModule->DefinitionLoc, Path, Module::Hidden, false);
tools/clang/lib/Frontend/DependencyFile.cpp
   76                           const Module *Imported,
tools/clang/lib/Frontend/DependencyGraph.cpp
   52                           const Module *Imported,
   77     const Module *Imported,
tools/clang/lib/Frontend/FrontendAction.cpp
  142 Module *FrontendAction::getCurrentModule() const {
  319     ModuleMap &ModMap, clang::Module *Module, SmallVectorImpl<char> &Includes) {
  340   for (auto HK : {Module::HK_Normal, Module::HK_Private}) {
  340   for (auto HK : {Module::HK_Normal, Module::HK_Private}) {
  341     for (Module::Header &H : Module->Headers[HK]) {
  352   if (Module::Header UmbrellaHeader = Module->getUmbrellaHeader()) {
  358   } else if (Module::DirectoryName UmbrellaDir = Module->getUmbrellaDir()) {
  405   for (clang::Module::submodule_iterator Sub = Module->submodule_begin(),
  447 static Module *prepareToBuildModule(CompilerInstance &CI,
  461   Module *M = HS.lookupModule(CI.getLangOpts().CurrentModule,
  513 getInputBufferForModule(CompilerInstance &CI, Module *M) {
  519   if (Module::Header UmbrellaHeader = M->getUmbrellaHeader())
  534       HeaderContents, Module::getModuleInputBufferName());
  603       Module *ASTModule =
  766     auto *CurrentModule = prepareToBuildModule(CI, Input.getFile());
tools/clang/lib/Frontend/FrontendActions.cpp
  272       HeaderContents, Module::getModuleInputBufferName());
  287   SmallVector<Module::Header, 16> Headers;
tools/clang/lib/Frontend/ModuleDependencyCollector.cpp
   52                           const Module *Imported,
tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  132                           const Module *Imported,
  182   void BeginModule(const Module *M);
  183   void EndModule(const Module *M);
  334     const Module *Imported,
  385 void PrintPPOutputPPCallbacks::BeginModule(const Module *M) {
  392 void PrintPPOutputPPCallbacks::EndModule(const Module *M) {
  778       Module *M = reinterpret_cast<Module *>(Tok.getAnnotationValue());
tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
   49   std::map<unsigned, const Module *> ModuleIncludes;
   51   std::map<unsigned, const Module *> ModuleEntryIncludes;
   81                           const Module *Imported,
   90   void WriteImplicitModuleImport(const Module *Mod);
   99   const Module *FindModuleAtLocation(SourceLocation Loc) const;
  100   const Module *FindEnteredModule(SourceLocation Loc) const;
  149 void InclusionRewriter::WriteImplicitModuleImport(const Module *Mod) {
  199                                            const Module *Imported,
  239 const Module *
  249 const Module *
  429             if (const Module *Mod = FindModuleAtLocation(Loc))
  432               const Module *Mod = FindEnteredModule(Loc);
tools/clang/lib/Index/IndexingContext.cpp
   93 static void reportModuleReferences(const Module *Mod,
  137   const Module *Mod = ImportD->getImportedModule();
tools/clang/lib/Index/USRGeneration.cpp
 1127 bool clang::index::generateFullUSRForModule(const Module *Mod,
 1142 bool clang::index::generateUSRFragmentForModule(const Module *Mod,
tools/clang/lib/Lex/HeaderSearch.cpp
  139 std::string HeaderSearch::getCachedModuleFileName(Module *Module) {
  206 Module *HeaderSearch::lookupModule(StringRef ModuleName, bool AllowSearch,
  209   Module *Module = ModMap.findModule(ModuleName);
  231 Module *HeaderSearch::lookupModule(StringRef ModuleName, StringRef SearchName,
  233   Module *Module = nullptr;
  321     bool IsSystemHeaderDir, Module *RequestingModule,
  353     Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule,
  479 static bool needModuleLookup(Module *RequestingModule,
  489     SmallVectorImpl<char> *RelativePath, Module *RequestingModule,
  733     Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule,
 1026     Module *RequestingModule, ModuleMap::KnownHeader *SuggestedModule) {
 1249                                           bool ModulesEnabled, Module *M) {
 1402                           Module *RequestingModule,
 1424     const FileEntry *File, const DirectoryEntry *Root, Module *RequestingModule,
 1435     const FileEntry *File, StringRef FrameworkName, Module *RequestingModule,
 1573 Module *HeaderSearch::loadFrameworkModule(StringRef Name,
 1576   if (Module *Module = ModMap.findModule(Name))
 1629 void HeaderSearch::collectAllModules(SmallVectorImpl<Module *> &Modules) {
tools/clang/lib/Lex/MacroInfo.cpp
  241 ModuleMacro *ModuleMacro::create(Preprocessor &PP, Module *OwningModule,
tools/clang/lib/Lex/ModuleMap.cpp
   58 void ModuleMap::resolveLinkAsDependencies(Module *Mod) {
   62       auto *M = findModule(Name.getKey());
   69 void ModuleMap::addLinkAsDependency(Module *Mod) {
   76 Module::HeaderKind ModuleMap::headerRoleToKind(ModuleHeaderRole Role) {
   80     return Module::HK_Normal;
   82     return Module::HK_Private;
   84     return Module::HK_Textual;
   86     return Module::HK_PrivateTextual;
   91 ModuleMap::headerKindToRole(Module::HeaderKind Kind) {
   93   case Module::HK_Normal:
   95   case Module::HK_Private:
   97   case Module::HK_Textual:
   99   case Module::HK_PrivateTextual:
  101   case Module::HK_Excluded:
  107 Module::ExportDecl
  108 ModuleMap::resolveExport(Module *Mod,
  109                          const Module::UnresolvedExportDecl &Unresolved,
  118   Module *Context = resolveModuleId(Unresolved.Id, Mod, Complain);
  125 Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod,
  128   Module *Context = lookupModuleUnqualified(Id[0].first, Mod);
  139     Module *Sub = lookupModuleQualified(Id[I].first, Context);
  157 static void appendSubframeworkPaths(Module *Mod,
  175     Module *M, const Module::UnresolvedHeaderDirective &Header,
  175     Module *M, const Module::UnresolvedHeaderDirective &Header,
  250 void ModuleMap::resolveHeader(Module *Mod,
  251                               const Module::UnresolvedHeaderDirective &Header,
  258       if (Module *UmbrellaMod = UmbrellaDirs[UmbrellaDir])
  265       Module::Header H = {RelativePathName.str(), File};
  266       if (Header.Kind == Module::HK_Excluded)
  274   } else if (Header.Kind == Module::HK_Excluded) {
  290     Module *Mod, const Module::UnresolvedHeaderDirective &Header) {
  290     Module *Mod, const Module::UnresolvedHeaderDirective &Header) {
  291   if (Header.Kind == Module::HK_Excluded ||
  308   Module::Header H = {Path.str(), *File};
  324   for (auto *M : ShadowModules)
  441 static bool violatesPrivateInclude(Module *RequestingModule,
  450     SmallVectorImpl<Module::Header> *HeaderList[] = {
  451         &Header.getModule()->Headers[Module::HK_Private],
  452         &Header.getModule()->Headers[Module::HK_PrivateTextual]};
  464 static Module *getTopLevelOrNull(Module *M) {
  464 static Module *getTopLevelOrNull(Module *M) {
  468 void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule,
  484   Module *Private = nullptr;
  485   Module *NotUsed = nullptr;
  596     Module *Result = H.getModule();
  600     Module *UmbrellaModule = Result;
  676                                        const Module *RequestingModule) const {
  713     llvm::DenseMap<const DirectoryEntry *, Module *>::const_iterator KnownDir
  716       Module *Found = KnownDir->second;
  722       Module *UmbrellaModule = Found;
  770 Module *ModuleMap::findModule(StringRef Name) const {
  771   llvm::StringMap<Module *>::const_iterator Known = Modules.find(Name);
  778 Module *ModuleMap::lookupModuleUnqualified(StringRef Name,
  779                                            Module *Context) const {
  781     if (Module *Sub = lookupModuleQualified(Name, Context))
  788 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{
  788 Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{
  795 std::pair<Module *, bool> ModuleMap::findOrCreateModule(StringRef Name,
  796                                                         Module *Parent,
  800   if (Module *Sub = lookupModuleQualified(Name, Parent))
  804   Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework,
  804   Module *Result = new Module(Name, SourceLocation(), Parent, IsFramework,
  815 Module *ModuleMap::createGlobalModuleFragmentForModuleUnit(SourceLocation Loc) {
  817       new Module("<global>", Loc, nullptr, /*IsFramework*/ false,
  819   PendingSubmodules.back()->Kind = Module::GlobalModuleFragment;
  823 Module *
  824 ModuleMap::createPrivateModuleFragmentForInterfaceUnit(Module *Parent,
  826   auto *Result =
  827       new Module("<private>", Loc, Parent, /*IsFramework*/ false,
  829   Result->Kind = Module::PrivateModuleFragment;
  833 Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc,
  835                                                 Module *GlobalModule) {
  839   auto *Result =
  840       new Module(Name, Loc, nullptr, /*IsFramework*/ false,
  842   Result->Kind = Module::ModuleInterfaceUnit;
  861 Module *ModuleMap::createHeaderModule(StringRef Name,
  862                                       ArrayRef<Module::Header> Headers) {
  866   auto *Result =
  867       new Module(Name, SourceLocation(), nullptr, /*IsFramework*/ false,
  869   Result->Kind = Module::ModuleInterfaceUnit;
  872   for (const Module::Header &H : Headers) {
  873     auto *M = new Module(H.NameAsWritten, SourceLocation(), Result,
  873     auto *M = new Module(H.NameAsWritten, SourceLocation(), Result,
  886 static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir,
  909 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir,
  910                                         bool IsSystem, Module *Parent) {
  916 Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir,
  917                                         Attributes Attrs, Module *Parent) {
  933   if (Module *Mod = lookupModuleQualified(ModuleName, Parent))
 1003   Module *Result = new Module(ModuleName, SourceLocation(), Parent,
 1003   Module *Result = new Module(ModuleName, SourceLocation(), Parent,
 1089 Module *ModuleMap::createShadowedModule(StringRef Name, bool IsFramework,
 1090                                         Module *ShadowingModule) {
 1093   Module *Result =
 1094       new Module(Name, SourceLocation(), /*Parent=*/nullptr, IsFramework,
 1104 void ModuleMap::setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader,
 1116 void ModuleMap::setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir,
 1123 void ModuleMap::addUnresolvedHeader(Module *Mod,
 1124                                     Module::UnresolvedHeaderDirective Header,
 1143       Header.Kind != Module::HK_Excluded) {
 1162     for (auto *M : BySize->second)
 1169     for (auto *M : ByModTime->second)
 1175 void ModuleMap::resolveHeaderDirectives(Module *Mod) const {
 1184 void ModuleMap::addHeader(Module *Mod, Module::Header Header,
 1184 void ModuleMap::addHeader(Module *Mod, Module::Header Header,
 1213 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) {
 1213 void ModuleMap::excludeHeader(Module *Mod, Module::Header Header) {
 1220   Mod->Headers[Module::HK_Excluded].push_back(std::move(Header));
 1224 ModuleMap::getContainingModuleMapFile(const Module *Module) const {
 1232 const FileEntry *ModuleMap::getModuleMapFileForUniquing(const Module *M) const {
 1240 void ModuleMap::setInferredModuleAllowedBy(Module *M, const FileEntry *ModMap) {
 1247   for (llvm::StringMap<Module *>::iterator M = Modules.begin(),
 1267 bool ModuleMap::resolveExports(Module *Mod, bool Complain) {
 1271     Module::ExportDecl Export = resolveExport(Mod, UE, Complain);
 1280 bool ModuleMap::resolveUses(Module *Mod, bool Complain) {
 1284     Module *DirectUse = resolveModuleId(UDU, Mod, Complain);
 1293 bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) {
 1297     if (Module *OtherMod = resolveModuleId(UC.Id, Mod, Complain)) {
 1298       Module::Conflict Conflict;
 1415     Module *ActiveModule = nullptr;
 1425     llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack;
 1737     auto const *M = E->getValue();
 1864   Module *PreviousActiveModule = ActiveModule;
 1869     const Module *TopLevelModule = nullptr;
 1871       if (Module *Next = Map.lookupModuleQualified(Id[I].first, ActiveModule)) {
 1915   Module *ShadowingModule = nullptr;
 1916   if (Module *Existing = Map.lookupModuleQualified(ModuleName, ActiveModule)) {
 2166 static bool shouldAddRequirement(Module *M, StringRef Feature,
 2285   Module::UnresolvedHeaderDirective Header;
 2290       (LeadingToken == MMToken::ExcludeKeyword ? Module::HK_Excluded
 2365 static int compareModuleHeaders(const Module::Header *A,
 2366                                 const Module::Header *B) {
 2419     SmallVector<Module::Header, 6> Headers;
 2426         Module::Header Header = {I->path(), *FE};
 2439   if (Module *OwningModule = Map.UmbrellaDirs[Dir]) {
 2492   Module::UnresolvedExportDecl Unresolved = {
 2661   Module::UnresolvedConflict Conflict;
tools/clang/lib/Lex/PPDirectives.cpp
  129 static bool isForModuleBuilding(Module *M, StringRef CurrentModule,
  628 Module *Preprocessor::getModuleForLocation(SourceLocation Loc) {
  650                                                      Module *M,
  657   bool InGlobalModuleFragment = M->Kind == Module::GlobalModuleFragment;
  666   Module *TopM = M->getTopLevelModule();
  667   Module *IncM = getModuleForLocation(IncLoc);
  725   Module *RequestingModule = getModuleForLocation(FilenameLoc);
 1646                                           DiagnosticsEngine &Diags, Module *M) {
 1647   Module::Requirement Requirement;
 1648   Module::UnresolvedHeaderDirective MissingHeader;
 1649   Module *ShadowingModule = nullptr;
 1988     for (Module *Mod = SuggestedModule.getModule(); Mod; Mod = Mod->Parent)
 2002         IncludeTok.getLocation(), Path, Module::Hidden,
 2127     if (Module *M = SuggestedModule.getModule())
 2138     Module *M = SuggestedModule.getModule();
 2175   if (auto *M = SuggestedModule.getModule()) {
tools/clang/lib/Lex/PPLexerChange.cpp
  260     const Module &Mod, SmallVectorImpl<const Module *> &SubMods) {
  260     const Module &Mod, SmallVectorImpl<const Module *> &SubMods) {
  263   for (auto *M : Mod.submodules())
  267 void Preprocessor::diagnoseMissingHeaderInUmbrellaDir(const Module &Mod) {
  318     Module *M = LeaveSubmodule(/*ForPragma*/true);
  441       Module *M = LeaveSubmodule(/*ForPragma*/false);
  534   if (Module *Mod = getCurrentModule()) {
  535     llvm::SmallVector<const Module *, 4> AllMods;
  644 void Preprocessor::EnterSubmodule(Module *M, SourceLocation ImportLoc,
  721 Module *Preprocessor::LeaveSubmodule(bool ForPragma) {
  730   Module *LeavingMod = Info.M;
tools/clang/lib/Lex/PPMacroExpansion.cpp
  129 ModuleMacro *Preprocessor::addModuleMacro(Module *Mod, IdentifierInfo *II,
  171 ModuleMacro *Preprocessor::getModuleMacro(Module *Mod, IdentifierInfo *II) {
tools/clang/lib/Lex/Pragma.cpp
 1096       Module *M = nullptr;
 1556     Module *Imported =
 1557         PP.getModuleLoader().loadModule(ImportLoc, ModuleName, Module::Hidden,
 1604     Module *M = HSI.lookupModule(Current);
 1611       auto *NewM = M->findOrInferSubmodule(ModuleName[I].first->getName());
 1647     Module *M = PP.LeaveSubmodule(/*ForPragma*/true);
 1683     PP.getModuleLoader().loadModule(Loc, ModuleName, Module::Hidden,
tools/clang/lib/Lex/PreprocessingRecord.cpp
  469     const Module *Imported,
tools/clang/lib/Lex/Preprocessor.cpp
  518 Module *Preprocessor::getCurrentModule() {
 1266   Module *Imported = nullptr;
 1270                                           Module::Hidden,
 1285 void Preprocessor::makeModuleVisible(Module *M, SourceLocation Loc) {
tools/clang/lib/Parse/Parser.cpp
 2306   Module *HeaderUnit = nullptr;
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  166 Module *MultiplexExternalSemaSource::getModule(unsigned ID) {
tools/clang/lib/Sema/Sema.cpp
  966                                      Module::PrivateModuleFragment
 1044       ModuleScopes.back().Module->Kind == Module::GlobalModuleFragment &&
 1067     if (Module *CurrentModule = PP.getCurrentModule()) {
 1070       SmallVector<Module *, 2> Stack;
 1073         Module *Mod = Stack.pop_back_val();
tools/clang/lib/Sema/SemaCodeComplete.cpp
 4021     SmallVector<Module *, 8> Modules;
 4033     Module *Mod =
 4034         PP.getModuleLoader().loadModule(ImportLoc, Path, Module::AllVisible,
 4038       for (Module::submodule_iterator Sub = Mod->submodule_begin(),
tools/clang/lib/Sema/SemaDecl.cpp
 1537   Module *NewM = New->getOwningModule();
 1538   Module *OldM = Old->getOwningModule();
 1540   if (NewM && NewM->Kind == Module::PrivateModuleFragment)
 1542   if (OldM && OldM->Kind == Module::PrivateModuleFragment)
tools/clang/lib/Sema/SemaLookup.cpp
 1509   if (auto *M = getCurrentModule())
 1523 static Module *getDefiningModule(Sema &S, Decl *Entity) {
 1548 llvm::DenseSet<Module*> &Sema::getLookupModules() {
 1552     Module *M = getDefiningModule(*this, CodeSynthesisContexts[I].Entity);
 1562 static bool isInCurrentModule(const Module *M, const LangOptions &LangOpts) {
 1566          (M->Kind == Module::GlobalModuleFragment && !M->Parent);
 1570   for (const Module *Merged : Context.getModulesWithMergedDefinition(Def))
 1577   for (const Module *Merged : Context.getModulesWithMergedDefinition(Def))
 1586                           llvm::SmallVectorImpl<Module *> *Modules) {
 1607                                      llvm::SmallVectorImpl<Module *> *Modules) {
 1618                                       llvm::SmallVectorImpl<Module *> *Modules,
 1644     const NamedDecl *D, llvm::SmallVectorImpl<Module *> *Modules) {
 1657     const NamedDecl *D, llvm::SmallVectorImpl<Module *> *Modules) {
 1683   Module *DeclModule = SemaRef.getOwningModule(D);
 1754 bool Sema::isModuleVisible(const Module *M, bool ModulePrivate) {
 1858                                      llvm::SmallVectorImpl<Module *> *Modules) {
 5306   Module *Owner = getOwningModule(Def);
 5309   llvm::SmallVector<Module*, 8> OwningModules;
 5331                                  ArrayRef<Module *> Modules,
 5358   llvm::SmallVector<Module*, 8> UniqueModules;
 5359   llvm::SmallDenseSet<Module*, 8> UniqueModuleSet;
 5360   for (auto *M : Modules) {
 5361     if (M->Kind == Module::GlobalModuleFragment)
 5397     for (Module *M : Modules) {
tools/clang/lib/Sema/SemaModule.cpp
   22 static void checkModuleImportContext(Sema &S, Module *M,
   62       ModuleScopes.back().Module->Kind == Module::GlobalModuleFragment) {
   74   auto *GlobalModule = Map.createGlobalModuleFragmentForModuleUnit(ModuleLoc);
  141   Module *GlobalModuleFragment = nullptr;
  143       ModuleScopes.back().Module->Kind == Module::GlobalModuleFragment)
  182   Module *Mod;
  188     if (auto *M = Map.findModule(ModuleName)) {
  210                                        Module::AllVisible,
  253   switch (ModuleScopes.empty() ? Module::GlobalModuleFragment
  255   case Module::ModuleMapModule:
  256   case Module::GlobalModuleFragment:
  260   case Module::PrivateModuleFragment:
  265   case Module::ModuleInterfaceUnit:
  286   Module *PrivateModuleFragment =
  326   Module *Mod =
  327       getModuleLoader().loadModule(ImportLoc, Path, Module::AllVisible,
  346                                    Module *Mod, ModuleIdPath Path) {
  367   Module *ModCheck = Mod;
  406 void Sema::ActOnModuleInclude(SourceLocation DirectiveLoc, Module *Mod) {
  411 void Sema::BuildModuleInclude(SourceLocation DirectiveLoc, Module *Mod) {
  436   getModuleLoader().makeModuleVisible(Mod, Module::AllVisible, DirectiveLoc);
  440 void Sema::ActOnModuleBegin(SourceLocation DirectiveLoc, Module *Mod) {
  464 void Sema::ActOnModuleEnd(SourceLocation EomLoc, Module *Mod) {
  505                                                       Module *Mod) {
  519   getModuleLoader().makeModuleVisible(Mod, Module::AllVisible, Loc);
  544              Module::PrivateModuleFragment) {
tools/clang/lib/Sema/SemaOverload.cpp
 9571   Module *M = getOwningModule(const_cast<NamedDecl*>(D));
 9576     Module *M = getOwningModule(const_cast<NamedDecl*>(E));
tools/clang/lib/Sema/SemaTemplate.cpp
 5180   llvm::SmallVector<Module*, 8> Modules;
10373   llvm::SmallVector<Module *, 8> Modules;
10493   llvm::SmallVector<Module *, 8> Modules;
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  412     if (Module *M = CodeSynthesisContextLookupModules.back())
tools/clang/lib/Serialization/ASTReader.cpp
  532 static Module *getTopImportImplicitModule(ModuleManager &ModuleMgr,
  550   Module *M = PP.getHeaderSearchInfo().lookupModule(ModuleName);
  568   Module *TopM = getTopImportImplicitModule(ModuleMgr, PP);
 1908     Module *Mod = Reader.getSubmodule(GlobalSMID);
 1919     Module::Header H = { key.Filename, *FileMgr.getFile(Filename) };
 2164         Module *Mod = getSubmodule(ModID);
 2171       Module *Owner = getSubmodule(MMR.SubModID);
 2880       Module *M = PP.getHeaderSearchInfo().lookupModule(
 3877     Module *M = PP.getHeaderSearchInfo().lookupModule(F.ModuleName);
 4006 void ASTReader::makeModuleVisible(Module *Mod,
 4007                                   Module::NameVisibilityKind NameVisibility,
 4009   llvm::SmallPtrSet<Module *, 4> Visited;
 4010   SmallVector<Module *, 4> Stack;
 4041     SmallVector<Module *, 16> Exports;
 4043     for (SmallVectorImpl<Module *>::iterator
 4045       Module *Exported = *I;
 4312     Module *ResolvedMod = getSubmodule(GlobalID);
 4317         Module::Conflict Conflict;
 4925     if (Module *Imported = getSubmodule(Import.ID)) {
 4926       makeModuleVisible(Imported, Module::AllVisible,
 5384   Module *CurrentModule = nullptr;
 5443       Module::ModuleKind Kind = (Module::ModuleKind)Record[Idx++];
 5454       Module *ParentModule = nullptr;
 8983 Module *ASTReader::getSubmodule(SubmoduleID GlobalID) {
 8997 Module *ASTReader::getModule(unsigned ID) {
 9038   if (const Module *M = getSubmodule(ID))
 9842   if (Module *M = D->getImportedOwningModule())
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  163     Module *readModule() {
  617     } else if (Module *Owner = Reader.getSubmodule(SubmoduleID)) {
  619       if (Owner->NameVisibility == Module::AllVisible)
 2760     auto *M = D->getImportedOwningModule();
 2761     if (M && M->Kind == Module::ModuleMapModule &&
 4504       Module *Owner = SubmoduleID ? Reader.getSubmodule(SubmoduleID) : nullptr;
tools/clang/lib/Serialization/ASTWriter.cpp
 1538   if (WritingModule && WritingModule->Kind == Module::ModuleMapModule) {
 1995         llvm::PointerIntPair<Module *, 2, ModuleMap::ModuleHeaderRole>;
 2117     llvm::SmallVector<Module *, 16> Worklist(1, WritingModule);
 2119       Module *M = Worklist.pop_back_val();
 2816 unsigned ASTWriter::getLocalOrImportedSubmoduleID(Module *Mod) {
 2820   llvm::DenseMap<Module *, unsigned>::iterator Known = SubmoduleIDs.find(Mod);
 2824   auto *Top = Mod->getTopLevelModule();
 2833 unsigned ASTWriter::getSubmoduleID(Module *Mod) {
 2845 static unsigned getNumberOfModules(Module *Mod) {
 2854 void ASTWriter::WriteSubmodules(Module *WritingModule) {
 2953   std::queue<Module *> Q;
 2956     Module *Mod = Q.front();
 3005       Module::HeaderKind HeaderKind;
 3007       {SUBMODULE_HEADER, HeaderAbbrev, Module::HK_Normal},
 3008       {SUBMODULE_TEXTUAL_HEADER, TextualHeaderAbbrev, Module::HK_Textual},
 3009       {SUBMODULE_PRIVATE_HEADER, PrivateHeaderAbbrev, Module::HK_Private},
 3011         Module::HK_PrivateTextual},
 3012       {SUBMODULE_EXCLUDED_HEADER, ExcludedHeaderAbbrev, Module::HK_Excluded}
 3031       for (auto *I : Mod->Imports)
 3088     for (auto *M : Mod->submodules())
 4695                                      Module *WritingModule, StringRef isysroot,
 4741                                          Module *WritingModule) {
 5195       Module *M;
 5196       ModuleInfo(uint64_t ID, Module *M) : ID(ID), M(M) {}
 6321 void ASTWriter::ModuleRead(serialization::SubmoduleID ID, Module *Mod) {
 6561 void ASTWriter::RedefinedHiddenDefinition(const NamedDecl *D, Module *M) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
 1001           (Writer.WritingModule->Kind == Module::ModuleInterfaceUnit &&
 2402     if (Writer->WritingModule->Kind == Module::ModuleInterfaceUnit) {
tools/clang/lib/Serialization/GeneratePCH.cpp
   50   Module *Module = nullptr;
tools/clang/lib/Serialization/ModuleManager.cpp
   54   if (const Module *Mod = HeaderSearchInfo.getModuleMap().findModule(Name))
  263       if (Module *mod = modMap->findModule(ModuleName)) {
tools/clang/tools/c-index-test/core_main.cpp
   76 static void printSymbolNameAndUSR(const clang::Module *Mod, raw_ostream &OS);
  136                              const clang::Module *Mod,
  312 static void printSymbolNameAndUSR(const clang::Module *Mod, raw_ostream &OS) {
tools/clang/tools/extra/clang-move/Move.cpp
  136                           const Module * /*Imported*/,
tools/clang/tools/extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
  153     const Module *Imported, SrcMgr::CharacteristicKind FileType) {
tools/clang/tools/extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
   66                           StringRef RelativePath, const Module *Imported,
tools/clang/tools/extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.cpp
   33                           const Module *Imported,
   62     StringRef SearchPath, StringRef RelativePath, const Module *Imported,
tools/clang/tools/extra/clang-tidy/llvm/IncludeOrderCheck.cpp
   31                           const Module *Imported,
   80     StringRef SearchPath, StringRef RelativePath, const Module *Imported,
tools/clang/tools/extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
   32                           const Module *Imported,
   97     StringRef SearchPath, StringRef RelativePath, const Module *Imported,
tools/clang/tools/extra/clang-tidy/utils/IncludeInserter.cpp
   27                           const Module * /*ImportedModule*/,
tools/clang/tools/extra/clangd/Headers.cpp
   36                           const Module * /*Imported*/,
tools/clang/tools/extra/clangd/index/IndexAction.cpp
   90                           llvm::StringRef RelativePath, const Module *Imported,
tools/clang/tools/extra/modularize/CoverageChecker.cpp
   93                           const Module *Imported,
  208 bool CoverageChecker::collectModuleHeaders(const Module &Mod) {
tools/clang/tools/extra/modularize/CoverageChecker.h
  120   bool collectModuleHeaders(const clang::Module &Mod);
tools/clang/tools/extra/modularize/ModularizeUtilities.cpp
  338 bool ModularizeUtilities::collectModuleHeaders(const clang::Module &Mod) {
  374   int NormalHeaderCount = Mod.Headers[clang::Module::HK_Normal].size();
  379     const clang::Module::Header &Header(
  380       Mod.Headers[clang::Module::HK_Normal][Index]);
tools/clang/tools/extra/modularize/ModularizeUtilities.h
  161   bool collectModuleHeaders(const clang::Module &Mod);
tools/clang/tools/extra/modularize/PreprocessorTracker.cpp
  752                           const clang::Module *Imported,
 1292     const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) {
tools/clang/tools/extra/pp-trace/PPCallbacksTracker.cpp
  141     const Module *Imported, SrcMgr::CharacteristicKind FileType) {
  157                                       const Module *Imported) {
  629 void PPCallbacksTracker::appendArgument(const char *Name, const Module *Value) {
tools/clang/tools/extra/pp-trace/PPCallbacksTracker.h
  100                           llvm::StringRef RelativePath, const Module *Imported,
  103                     const Module *Imported) override;
  210   void appendArgument(const char *Name, const Module *Value);
tools/clang/tools/libclang/CIndex.cpp
 4462       if (Module *Mod = ImportD->getImportedModule())
 8293   Module *Mod = static_cast<Module*>(CXMod);
 8300   Module *Mod = static_cast<Module*>(CXMod);
 8307   Module *Mod = static_cast<Module*>(CXMod);
 8314   Module *Mod = static_cast<Module*>(CXMod);
 8321   Module *Mod = static_cast<Module*>(CXMod);
 8333   Module *Mod = static_cast<Module*>(CXMod);
 8347   Module *Mod = static_cast<Module*>(CXMod);
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  224                                                 const Module *Mod,
  482   Module *Mod = ImportD->getImportedModule();
  490   if (Module *SrcMod = ImportD->getImportedOwningModule())
tools/clang/tools/libclang/CXIndexDataConsumer.h
  438   bool handleModuleOccurence(const ImportDecl *ImportD, const Module *Mod,
tools/clang/tools/libclang/Indexing.cpp
  265                           const Module *Imported,
tools/clang/unittests/Lex/PPCallbacksTest.cpp
   40                           const Module *Imported,
   62   const Module* Imported;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
   70   clang::Module *getModule(unsigned ID) override {
  399   clang::Module *getModule(unsigned ID) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
  120                     const clang::Module * /*null*/) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
   92                             clang::Module *module);
   94   void ReportModuleExports(ModuleVector &exports, clang::Module *module);
  109   typedef std::map<ImportedModule, clang::Module *> ImportedModuleMap;
  171     clang::Module *module) {
  177   llvm::SmallVector<clang::Module *, 2> sub_exports;
  181   for (clang::Module *module : sub_exports) {
  187     ClangModulesDeclVendor::ModuleVector &exports, clang::Module *module) {
  289   clang::Module *top_level_module = DoGetModule(clang_path.front(), false);
  298   clang::Module *submodule = top_level_module;
  310   clang::Module *requested_module = DoGetModule(clang_path, true);
  440       clang::Module *module = module_macro->getOwningModule();
  452       clang::Module *top_level_module = module->getTopLevelModule();
  563   clang::Module::NameVisibilityKind visibility =
  564       make_visible ? clang::Module::AllVisible : clang::Module::Hidden;
  564       make_visible ? clang::Module::AllVisible : clang::Module::Hidden;
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  297           __safe_conversion_up<_Up, _Ep>,
  301 	operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
 1983     { typedef _Up     type; };