diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-09-22 23:32:28 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-09-22 23:32:28 +0200 |
commit | c09cd7512491cee1e82c1ad8128ce9fd4bc3f79b (patch) | |
tree | a659ed768d849130ab5780a11b7f791a463a1a91 /tests/standard-version | |
parent | 2a00871f07067f8f9e2de08bb9c8f50e1bf6a650 (diff) |
Initial modularization with both Clang and VC hacks
Note: gave up on VC about half way though.
Diffstat (limited to 'tests/standard-version')
-rw-r--r-- | tests/standard-version/buildfile | 6 | ||||
-rw-r--r-- | tests/standard-version/driver.cxx | 22 |
2 files changed, 24 insertions, 4 deletions
diff --git a/tests/standard-version/buildfile b/tests/standard-version/buildfile index 0583b62..eb30733 100644 --- a/tests/standard-version/buildfile +++ b/tests/standard-version/buildfile @@ -4,4 +4,10 @@ import libs = libbutl%lib{butl} +if ($cxx.features.modules && ($force_std_modules == true || $cxx.id != 'msvc')) +{ + import libs += libstd-modules%liba{std-modules} + cxx.poptions += -D__cpp_lib_modules +} + exe{driver}: {hxx cxx}{*} $libs test{testscript} diff --git a/tests/standard-version/driver.cxx b/tests/standard-version/driver.cxx index fa149ae..c6f9c11 100644 --- a/tests/standard-version/driver.cxx +++ b/tests/standard-version/driver.cxx @@ -2,14 +2,28 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file +#include <cassert> + +#ifndef __cpp_lib_modules #include <ios> // ios::failbit, ios::badbit #include <string> -#include <cassert> #include <iostream> #include <stdexcept> // invalid_argument - -#include <libbutl/utility.hxx> // operator<<(ostream,exception) -#include <libbutl/standard-version.hxx> +#endif + +// Other includes. + +#ifdef __cpp_modules +#ifdef __cpp_lib_modules +import std.core; +import std.io; +#endif +import butl.utility; // operator<<(ostream,exception) +import butl.standard_version; +#else +#include <libbutl/utility.mxx> +#include <libbutl/standard-version.mxx> +#endif using namespace std; using namespace butl; |