aboutsummaryrefslogtreecommitdiff
path: root/tests/string-parser
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-09-22 23:32:28 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-09-22 23:32:28 +0200
commitc09cd7512491cee1e82c1ad8128ce9fd4bc3f79b (patch)
treea659ed768d849130ab5780a11b7f791a463a1a91 /tests/string-parser
parent2a00871f07067f8f9e2de08bb9c8f50e1bf6a650 (diff)
Initial modularization with both Clang and VC hacks
Note: gave up on VC about half way though.
Diffstat (limited to 'tests/string-parser')
-rw-r--r--tests/string-parser/buildfile6
-rw-r--r--tests/string-parser/driver.cxx28
2 files changed, 26 insertions, 8 deletions
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> // ios::failbit, ios::badbit
-#include <vector>
-#include <string>
#include <cassert>
+
+#ifndef __cpp_lib_modules
+#include <string>
+#include <vector>
#include <iostream>
+#endif
+
+// Other includes.
-#include <libbutl/utility.hxx> // operator<<(ostream,exception)
-#include <libbutl/string-parser.hxx>
+#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 <libbutl/utility.mxx>
+#include <libbutl/string-parser.mxx>
+#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<pair<string, size_t>> v (
- string_parser::parse_quoted_position (l, unquote));
+ vector<pair<string, size_t>> v (parse_quoted_position (l, unquote));
if (!spl)
{