diff options
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/Basic/DiagnosticFrontendKinds.td | 2 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticGroups.td | 1 | ||||
-rw-r--r-- | include/clang/Basic/Module.h | 16 |
3 files changed, 13 insertions, 6 deletions
diff --git a/include/clang/Basic/DiagnosticFrontendKinds.td b/include/clang/Basic/DiagnosticFrontendKinds.td index ceef843409..5efba22529 100644 --- a/include/clang/Basic/DiagnosticFrontendKinds.td +++ b/include/clang/Basic/DiagnosticFrontendKinds.td @@ -139,6 +139,8 @@ def err_missing_umbrella_header : Error< def err_no_submodule : Error<"no submodule named %0 in module '%1'">; def err_no_submodule_suggest : Error< "no submodule named %0 in module '%1'; did you mean '%2'?">; +def warn_missing_submodule : Warning<"missing submodule '%0'">, + InGroup<IncompleteUmbrella>; def err_module_map_temp_file : Error< "unable to write temporary module map file '%0'">, DefaultFatal; } diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index d9c078f880..bb88d48b38 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -88,6 +88,7 @@ def LogicalOpParentheses: DiagGroup<"logical-op-parentheses">; def IgnoredQualifiers : DiagGroup<"ignored-qualifiers">; def : DiagGroup<"import">; def IncompatiblePointerTypes : DiagGroup<"incompatible-pointer-types">; +def IncompleteUmbrella : DiagGroup<"incomplete-umbrella">; def : DiagGroup<"init-self">; def : DiagGroup<"inline">; def : DiagGroup<"int-to-pointer-cast">; diff --git a/include/clang/Basic/Module.h b/include/clang/Basic/Module.h index aef2db0fed..96b716e0ce 100644 --- a/include/clang/Basic/Module.h +++ b/include/clang/Basic/Module.h @@ -58,6 +58,9 @@ public: /// \brief The headers that are part of this module. llvm::SmallVector<const FileEntry *, 2> Headers; + /// \brief Whether this module was loaded from a module file. + unsigned IsFromModuleFile : 1; + /// \brief Whether this is a framework module. unsigned IsFramework : 1; @@ -131,17 +134,18 @@ public: explicit Module(StringRef Name, SourceLocation DefinitionLoc, bool IsFramework) : Name(Name), DefinitionLoc(DefinitionLoc), Parent(0), Umbrella(), - IsFramework(IsFramework), IsExplicit(false), InferSubmodules(false), - InferExplicitSubmodules(false), InferExportWildcard(false), - NameVisibility(Hidden) { } + IsFromModuleFile(false), IsFramework(IsFramework), IsExplicit(false), + InferSubmodules(false), InferExplicitSubmodules(false), + InferExportWildcard(false), NameVisibility(Hidden) { } /// \brief Construct a new module or submodule. Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, bool IsFramework, bool IsExplicit) : Name(Name), DefinitionLoc(DefinitionLoc), Parent(Parent), - Umbrella(), IsFramework(IsFramework), IsExplicit(IsExplicit), - InferSubmodules(false), InferExplicitSubmodules(false), - InferExportWildcard(false),NameVisibility(Hidden) { } + Umbrella(), IsFromModuleFile(false), IsFramework(IsFramework), + IsExplicit(IsExplicit), InferSubmodules(false), + InferExplicitSubmodules(false), InferExportWildcard(false), + NameVisibility(Hidden) { } ~Module(); |