diff options
| author | ruki <[email protected]> | 2019-09-06 22:51:54 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-09-06 11:11:25 +0800 |
| commit | 7210427c931d41fd52608ee5a502ea54414d6606 (patch) | |
| tree | ade539fdb971d8974efcc14e20819fe187601c63 /tests/projects/c++/modules/dependence/src | |
| parent | 5c0286dd6ec8c3f8bf7e6c4e7cecd9d5903948e8 (diff) | |
add some c++ module tests
Diffstat (limited to 'tests/projects/c++/modules/dependence/src')
5 files changed, 66 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/dependence/src/hello.mpp b/tests/projects/c++/modules/dependence/src/hello.mpp new file mode 100644 index 000000000..b3153a5b3 --- /dev/null +++ b/tests/projects/c++/modules/dependence/src/hello.mpp @@ -0,0 +1,21 @@ +export module hello; + +export namespace hello { + extern int data__; + void say_hello(); + + class say { + public: + say(int data); + void hello(); + + private: + int data_; + }; +} + +export namespace { + void anonymous() { + + } +} diff --git a/tests/projects/c++/modules/dependence/src/hello_impl.cpp b/tests/projects/c++/modules/dependence/src/hello_impl.cpp new file mode 100644 index 000000000..37797c31c --- /dev/null +++ b/tests/projects/c++/modules/dependence/src/hello_impl.cpp @@ -0,0 +1,23 @@ +// module; +#include <iostream> +module hello; +import mod; + +void inner() { + std::cout << "hello world! data: " + << mod::foo() << std::endl; +} + +namespace hello { + int data__; + void say_hello() { ::inner(); } + + say::say(int data) : data_{data} { + + } + + void say::hello() { + hello::data__ = data_; + ::inner(); + } +} diff --git a/tests/projects/c++/modules/dependence/src/main.cpp b/tests/projects/c++/modules/dependence/src/main.cpp new file mode 100644 index 000000000..93cc427a4 --- /dev/null +++ b/tests/projects/c++/modules/dependence/src/main.cpp @@ -0,0 +1,9 @@ +import hello; + +int main() { + hello::data__ = 123; + hello::say_hello(); + hello::say(sizeof(hello::say)).hello(); + return 0; +} + diff --git a/tests/projects/c++/modules/dependence/src/mod.mpp b/tests/projects/c++/modules/dependence/src/mod.mpp new file mode 100644 index 000000000..ac30a31c8 --- /dev/null +++ b/tests/projects/c++/modules/dependence/src/mod.mpp @@ -0,0 +1,5 @@ +export module mod; + +export namespace mod { + int foo(); +} diff --git a/tests/projects/c++/modules/dependence/src/mod_impl.cpp b/tests/projects/c++/modules/dependence/src/mod_impl.cpp new file mode 100644 index 000000000..1adf6570e --- /dev/null +++ b/tests/projects/c++/modules/dependence/src/mod_impl.cpp @@ -0,0 +1,8 @@ +module mod; +import hello; + +namespace mod { + int foo() { + return hello::data__; + } +} |
