aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-05-22 15:09:04 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-05-22 15:09:04 +0200
commite7688fc3efaa79b3236b9a3775ef1a0ffaeed1b1 (patch)
tree4d14cddf06306f6ea86e3b02b30e1a0d20208fdf
parente37e3ad0fc67cca41c35c0e1f0dfdd53a80b33e1 (diff)
Some hoop-jumping to make clang happy
-rw-r--r--build/bin/rule.cxx2
-rw-r--r--build/path6
-rw-r--r--build/variable2
3 files changed, 7 insertions, 3 deletions
diff --git a/build/bin/rule.cxx b/build/bin/rule.cxx
index e4d17a8..172e5d8 100644
--- a/build/bin/rule.cxx
+++ b/build/bin/rule.cxx
@@ -24,6 +24,8 @@ namespace build
{
fail << diag_doing (a, t) << " target group" <<
info << "explicitly select either obja{} or objso{} member";
+
+ return nullptr;
}
recipe obj_rule::
diff --git a/build/path b/build/path
index 94af711..f107391 100644
--- a/build/path
+++ b/build/path
@@ -230,9 +230,11 @@ namespace build
typedef path_traits<C> traits;
- // Construct special empty path.
+ // Construct special empty path. Note that we have to provide our
+ // own implementation rather than using '=default' to make clang
+ // allow default-initialized const instances of this type.
//
- basic_path () = default;
+ basic_path () {};
explicit
basic_path (C const* s): base_type (s) {init ();}
diff --git a/build/variable b/build/variable
index 389f4c8..0972f3c 100644
--- a/build/variable
+++ b/build/variable
@@ -111,7 +111,7 @@ namespace build
//
template <typename T>
T
- as () const = delete;
+ as () const;
// Assign.
//