diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-09-28 18:03:28 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-09-28 18:03:28 +0200 |
commit | 297bc80eab5128e1cde7cd597368109a033b6cc0 (patch) | |
tree | 251806183b14a8b643b2bfe1c934c73022c90628 /build2/cxx-modules/modtest/bar | |
parent | a00f98381c708fbba986844762368be3d0e20a6f (diff) |
Update idea: C++ modules support
Add module test for Clang and VC
Diffstat (limited to 'build2/cxx-modules/modtest/bar')
-rw-r--r-- | build2/cxx-modules/modtest/bar | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/build2/cxx-modules/modtest/bar b/build2/cxx-modules/modtest/bar new file mode 100644 index 0000000..bc14c7c --- /dev/null +++ b/build2/cxx-modules/modtest/bar @@ -0,0 +1,43 @@ +// file : bar -*- C++ -*- +// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +// #include <string> + +// Define bar module interface. +// +// For VC must be included only into module implementation (bar.cxx). The +// module should be imported into consumer file with import declaration. +// +// For CLang must be #included into both module implementation and consumer +// files. +// + +#if defined(MODTEST_USE_MODULES) && defined(_MSC_VER) +module bar; +export +{ +#endif + +int +bar_value (int v); + +struct bar +{ + explicit bar (int v); + + int + value (); + +// std::string +// message (const char* s) const; + +private: + int v_; +}; + +// Close module export declaration. +// +#if defined(MODTEST_USE_MODULES) && defined(_MSC_VER) +} +#endif |