From c09cd7512491cee1e82c1ad8128ce9fd4bc3f79b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Sep 2017 23:32:28 +0200 Subject: Initial modularization with both Clang and VC hacks Note: gave up on VC about half way though. --- tests/string-parser/buildfile | 6 ++++++ tests/string-parser/driver.cxx | 28 ++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) (limited to 'tests/string-parser') diff --git a/tests/string-parser/buildfile b/tests/string-parser/buildfile index 5969cd0..4613df1 100644 --- a/tests/string-parser/buildfile +++ b/tests/string-parser/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/string-parser/driver.cxx b/tests/string-parser/driver.cxx index 09443f2..f454a6f 100644 --- a/tests/string-parser/driver.cxx +++ b/tests/string-parser/driver.cxx @@ -2,17 +2,30 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#include // ios::failbit, ios::badbit -#include -#include #include + +#ifndef __cpp_lib_modules +#include +#include #include +#endif + +// Other includes. -#include // operator<<(ostream,exception) -#include +#ifdef __cpp_modules +#ifdef __cpp_lib_modules +import std.core; +import std.io; +#endif +import butl.utility; // operator<<(ostream,exception) +import butl.string_parser; +#else +#include +#include +#endif using namespace std; -using namespace butl; +using namespace butl::string_parser; // Usage: argv[0] [-l] [-u] [-p] // @@ -54,8 +67,7 @@ try string l; while (getline (cin, l)) { - vector> v ( - string_parser::parse_quoted_position (l, unquote)); + vector> v (parse_quoted_position (l, unquote)); if (!spl) { -- cgit v1.1