aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema/SemaModule.cpp')
-rw-r--r--clang/lib/Sema/SemaModule.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaModule.cpp b/clang/lib/Sema/SemaModule.cpp
index 3b84e7b..d6ebc38 100644
--- a/clang/lib/Sema/SemaModule.cpp
+++ b/clang/lib/Sema/SemaModule.cpp
@@ -650,6 +650,14 @@ DeclResult Sema::ActOnModuleImport(SourceLocation StartLoc,
else
VisibleModules.setVisible(Mod, ImportLoc);
+ assert((!Mod->isModulePartitionImplementation() || getCurrentModule()) &&
+ "We can only import a partition unit in a named module.");
+ if (Mod->isModulePartitionImplementation() &&
+ getCurrentModule()->isModuleInterfaceUnit())
+ Diag(ImportLoc,
+ diag::warn_import_implementation_partition_unit_in_interface_unit)
+ << Mod->Name;
+
checkModuleImportContext(*this, Mod, ImportLoc, CurContext);
// FIXME: we should support importing a submodule within a different submodule