diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-04-11 10:03:44 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-04-11 10:03:44 +0200 |
commit | ed024f5c4e42bf1bc32d5721c83b990987b3aa74 (patch) | |
tree | 6bd775c4a69c604c150f696ff55ab2a8f1cf5301 | |
parent | 9bd1a1619e282c585b3f202d84790f8811d1e4d6 (diff) |
Sync up with latest C++ modules support in GCC
-rw-r--r-- | build2/cc/compile-rule.cxx | 2 | ||||
-rw-r--r-- | build2/cxx/init.cxx | 4 | ||||
-rw-r--r-- | tests/cc/modules/testscript | 7 |
3 files changed, 8 insertions, 5 deletions
diff --git a/build2/cc/compile-rule.cxx b/build2/cc/compile-rule.cxx index 92ba32d..9e307b6 100644 --- a/build2/cc/compile-rule.cxx +++ b/build2/cc/compile-rule.cxx @@ -558,7 +558,7 @@ namespace build2 { case compiler_type::gcc: { - e += mod ? "nms" : o; + e += mod ? "gcm" : o; break; } case compiler_type::clang: diff --git a/build2/cxx/init.cxx b/build2/cxx/init.cxx index 0326d22..7174121 100644 --- a/build2/cxx/init.cxx +++ b/build2/cxx/init.cxx @@ -196,8 +196,8 @@ namespace build2 if (mj >= 9 && ci.version.build.find ("c++-modules") != string::npos) { - // Currently defines __cpp_modules=201804 which is said to - // correspond to p0713 ('module;' leading marker). + // Currently defines __cpp_modules=201810 which is said to + // correspond to p1103 (merged modules). // r.push_back ("-fmodules-ts"); modules = true; diff --git a/tests/cc/modules/testscript b/tests/cc/modules/testscript index c31bacf..b5b94c1 100644 --- a/tests/cc/modules/testscript +++ b/tests/cc/modules/testscript @@ -191,14 +191,17 @@ $* test clean <<EOI : module-marker : -: Test leading module marker (module;). +: Test global module fragment/leading module marker (module;). : +cat <<EOI >=g.hxx; +void g (); +EOI cat <<EOI >=core.mxx; #if __cpp_modules >= 201804 module; #endif -void g (); +#include "g.hxx" EOI cat <<<../core.mxx >+core.mxx; ln -s ../core.cxx ../driver.cxx ./; |