aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.
//