Lines Matching refs:deps
87 Deps* deps = GetDeps(node);
88 if (!deps ||
89 deps->mtime != mtime ||
90 deps->node_count != node_count) {
94 if (deps->nodes[i] != nodes[i]) {
137 Deps* deps = new Deps(mtime, node_count);
139 deps->nodes[i] = nodes[i];
140 UpdateDeps(node->id(), deps);
174 *err = "deps log version change; rebuilding";
176 *err = "bad deps log signature or version; starting over";
179 // Don't report this as a failure. An empty deps log will cause
215 Deps* deps = new Deps(mtime, deps_count);
219 deps->nodes[i] = nodes_[deps_data[i]];
223 if (!UpdateDeps(out_id, deps))
241 // happen if two ninja processes write to the same deps log concurrently.
291 // Abort if the node has no id (never referenced in the deps) or if
292 // there's no deps recorded for the node.
300 Deps* deps = deps_[id];
301 if (!deps)
303 for (int i = 0; i < deps->node_count; ++i) {
304 if (deps->nodes[i] == node)
330 // Write out all deps again.
332 Deps* deps = deps_[old_id];
333 if (!deps) continue; // If nodes_[old_id] is a leaf, it has no deps.
338 if (!new_log.RecordDeps(nodes_[old_id], deps->mtime,
339 deps->node_count, deps->nodes)) {
366 // "deps" attribute. They were in the deps log from previous builds, but
367 // the the files they were for were removed from the build and their deps
369 // (Without the check for "deps", a chain of two or more nodes that each
370 // had deps wouldn't be collected in a single recompaction.)
371 return node->in_edge() && !node->in_edge()->GetBinding("deps").empty();
374 bool DepsLog::UpdateDeps(int out_id, Deps* deps) {
381 deps_[out_id] = deps;