From a8ff78d8b90d6f7a45c9586449986dadb65809c8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 6 Nov 2023 13:53:00 +0200 Subject: Fix basic issues with C++20 named modules support in Clang Note that modules support now require Clang 16 or later. --- libbuild2/cc/compile-rule.cxx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'libbuild2/cc/compile-rule.cxx') diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx index 4f94167..ee97b39 100644 --- a/libbuild2/cc/compile-rule.cxx +++ b/libbuild2/cc/compile-rule.cxx @@ -6893,7 +6893,8 @@ namespace build2 // #if 0 // In Clang the module implementation's unit .pcm is special and - // must be "loaded". + // must be "loaded". Note: not anymore, not from Clang 16 and is + // deprecated in 17. // if (ut == unit_type::module_impl) { @@ -6926,17 +6927,9 @@ namespace build2 const file& f (pt->as ()); string s (relative (f.path ()).string ()); - // In Clang the module implementation's unit .pcm is special and - // must be "loaded". - // - if (ut == unit_type::module_impl && i == ms.start) - s.insert (0, "-fmodule-file="); - else - { - s.insert (0, 1, '='); - s.insert (0, cast (f.state[a].vars[c_module_name])); - s.insert (0, "-fmodule-file="); - } + s.insert (0, 1, '='); + s.insert (0, cast (f.state[a].vars[c_module_name])); + s.insert (0, "-fmodule-file="); stor.push_back (move (s)); } -- cgit v1.1