aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/compile.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/cc/compile.cxx')
-rw-r--r--build2/cc/compile.cxx17
1 files changed, 12 insertions, 5 deletions
diff --git a/build2/cc/compile.cxx b/build2/cc/compile.cxx
index ce96e00..c7fc3ea 100644
--- a/build2/cc/compile.cxx
+++ b/build2/cc/compile.cxx
@@ -610,9 +610,8 @@ namespace build2
dd.close ();
- // If C++ modules support is enabled then we need to extract the
- // module dependency information in addition to header dependencies
- // above.
+ // Extract the module dependency information in addition to header
+ // dependencies above.
//
if (u) // @@ TMP (depdb validation similar to extract_headers()).
{
@@ -2207,8 +2206,16 @@ namespace build2
throw failed ();
}
- if (!tu.module_name.empty () || !tu.module_imports.empty ())
- fail << "module support not yet implemented";
+ //@@ TODO: if bmi{}, make sure module_name is not empty.
+
+ if (tu.module_name.empty () && tu.module_imports.empty ())
+ return;
+
+ // Modules are used by this translation unit. Make sure module support
+ // is enabled.
+ //
+ if (!modules)
+ fail << "modules support not enabled or unavailable";
}
// Filter cl.exe noise (msvc.cxx).