summaryrefslogtreecommitdiffstats
path: root/src/graph.cc
diff options
context:
space:
mode:
authorJan Niklas Hasse <jhasse@bixense.com>2019-09-21 20:41:37 (GMT)
committerJan Niklas Hasse <jhasse@bixense.com>2019-09-21 20:41:37 (GMT)
commit95e0cb5156d295e0510b5296e441eecb1f8b1806 (patch)
treea0e9180bfb1177a8bb590ded14aedc871655f9de /src/graph.cc
parent2321fd711c4bbe7bdc23060f3549f2aea9a95580 (diff)
downloadNinja-95e0cb5156d295e0510b5296e441eecb1f8b1806.zip
Ninja-95e0cb5156d295e0510b5296e441eecb1f8b1806.tar.gz
Ninja-95e0cb5156d295e0510b5296e441eecb1f8b1806.tar.bz2
Fix crash when using MSVC in debug mode
Accessing inputs_[0] when it's empty results in an assert when running in debug. Avoid it by using data() if available.
Diffstat (limited to 'src/graph.cc')
-rw-r--r--src/graph.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/graph.cc b/src/graph.cc
index b8b870b..facb76d 100644
--- a/src/graph.cc
+++ b/src/graph.cc
@@ -342,7 +342,11 @@ string EdgeEnv::LookupVariable(const string& var) {
if (var == "in" || var == "in_newline") {
int explicit_deps_count = edge_->inputs_.size() - edge_->implicit_deps_ -
edge_->order_only_deps_;
+#if __cplusplus >= 201103L
+ return MakePathList(edge_->inputs_.data(), explicit_deps_count,
+#else
return MakePathList(&edge_->inputs_[0], explicit_deps_count,
+#endif
var == "in" ? ' ' : '\n');
} else if (var == "out") {
int explicit_outs_count = edge_->outputs_.size() - edge_->implicit_outs_;