From 83abf6ad653df37a750c63afa7cae2acf03e11a4 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:53:55 +0800 Subject: improve test again --- tests/projects/c++/modules/partitions_implunit/src/foo.cpp | 8 ++++++++ tests/projects/c++/modules/partitions_implunit/src/foo.mpp | 6 ++++++ .../c++/modules/partitions_implunit/src/foo_impl.mpp | 10 ++++++++++ tests/projects/c++/modules/partitions_implunit/src/main.cpp | 5 ++--- tests/projects/c++/modules/partitions_implunit/src/math.cpp | 13 ------------- tests/projects/c++/modules/partitions_implunit/src/math.mpp | 6 ------ .../c++/modules/partitions_implunit/src/math_impl.mpp | 6 ------ 7 files changed, 26 insertions(+), 28 deletions(-) create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.cpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp (limited to 'tests/projects/c++/modules') diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo.cpp b/tests/projects/c++/modules/partitions_implunit/src/foo.cpp new file mode 100644 index 000000000..d2e8d2a52 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo.cpp @@ -0,0 +1,8 @@ +// Foo.cpp +module Foo; + +import :Impl; + +void foo() { + bar(); +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo.mpp b/tests/projects/c++/modules/partitions_implunit/src/foo.mpp new file mode 100644 index 000000000..65de99bed --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo.mpp @@ -0,0 +1,6 @@ +// Foo.mpp +export module Foo; + +import :Impl; // can't export import Impl because Impl is a implementation partition unit + +export void foo(); diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp new file mode 100644 index 000000000..79ed77d31 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp @@ -0,0 +1,10 @@ +module; +#include + +// Foo-Impl.mpp +// can only be imported by module Foo, and visibility of bar is only public to module Foo +module Foo:Impl; + +export void bar() { + std::cout << "Hello world" << std::endl; +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/main.cpp b/tests/projects/c++/modules/partitions_implunit/src/main.cpp index c8c0bfd65..acef780c2 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/main.cpp +++ b/tests/projects/c++/modules/partitions_implunit/src/main.cpp @@ -1,7 +1,6 @@ -import math; +import Foo; int main(int argc, char** argv) { - auto a{ Math::lerchZeta(1, 2, 3) }; - auto b{ Math::superLog(1, 2) }; + foo(); return 0; } diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.cpp b/tests/projects/c++/modules/partitions_implunit/src/math.cpp deleted file mode 100644 index 3651adb2d..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math.cpp +++ /dev/null @@ -1,13 +0,0 @@ -module math; - -import :details; - -double Math::superLog(double z, double b) { - // Implementation omitted... - return someHelperFunction(z); -} - -double Math::lerchZeta(double lambda, double alpha, double s) { - // Implementation omitted... - return someHelperFunction(s); -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.mpp b/tests/projects/c++/modules/partitions_implunit/src/math.mpp deleted file mode 100644 index e9d5fb85a..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math.mpp +++ /dev/null @@ -1,6 +0,0 @@ -export module math; // math module declaration - -export namespace Math { - double superLog(double z, double b); - double lerchZeta(double lambda, double alpha, double s); -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp deleted file mode 100644 index 17d5afaf4..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp +++ /dev/null @@ -1,6 +0,0 @@ -module math:details; // math:details implementation partition - -double someHelperFunction(double a) { - // Implementation omitted... - return 42; -} -- cgit v1.3.1