aboutsummaryrefslogtreecommitdiff
path: root/libbutl/diagnostics.cxx
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 /libbutl/diagnostics.cxx
parent2a00871f07067f8f9e2de08bb9c8f50e1bf6a650 (diff)
Initial modularization with both Clang and VC hacks
Note: gave up on VC about half way though.
Diffstat (limited to 'libbutl/diagnostics.cxx')
-rw-r--r--libbutl/diagnostics.cxx37
1 files changed, 32 insertions, 5 deletions
diff --git a/libbutl/diagnostics.cxx b/libbutl/diagnostics.cxx
index 33d8e3a..6189775 100644
--- a/libbutl/diagnostics.cxx
+++ b/libbutl/diagnostics.cxx
@@ -2,25 +2,52 @@
// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
// license : MIT; see accompanying LICENSE file
-#include <libbutl/diagnostics.hxx>
+#ifndef __cpp_modules
+#include <libbutl/diagnostics.mxx>
+#endif
#ifndef _WIN32
# include <unistd.h> // write()
#else
# include <libbutl/win32-utility.hxx>
-
# include <io.h> //_write()
#endif
+#include <cassert>
+
+#ifndef __cpp_lib_modules
+#include <utility>
+#include <exception>
+
#include <ios> // ios::failure
#include <mutex>
#include <string>
-#include <cassert>
#include <cstddef> // size_t
#include <iostream> // cerr
+#endif
-#include <libbutl/optional.hxx>
-#include <libbutl/fdstream.hxx> // stderr_fd(), fdterm()
+// Other includes.
+
+#ifdef __cpp_modules
+module butl.diagnostics;
+
+// Only imports additional to interface.
+#ifdef __clang__
+#ifdef __cpp_lib_modules
+import std.core;
+import std.io;
+#endif
+#endif
+
+//@@ MOD TODO: std.threading
+import butl.utility;
+import butl.optional;
+import butl.fdstream; // stderr_fd(), fdterm()
+#else
+#include <libbutl/utility.mxx>
+#include <libbutl/optional.mxx>
+#include <libbutl/fdstream.mxx>
+#endif
using namespace std;