mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-29 11:01:57 +00:00
pipeline: report changed arg
This commit is contained in:
parent
b7027f89e5
commit
ab4b4efcaf
@ -114,14 +114,20 @@ bool CacheInvalid(VFS *vfs, IndexFile *prev, const std::string &path,
|
|||||||
|
|
||||||
// For inferred files, allow -o a a.cc -> -o b b.cc
|
// For inferred files, allow -o a a.cc -> -o b b.cc
|
||||||
std::string stem = sys::path::stem(path);
|
std::string stem = sys::path::stem(path);
|
||||||
bool changed = prev->args.size() != args.size();
|
int changed = -1, size = std::min(prev->args.size(), args.size());
|
||||||
for (size_t i = 0; !changed && i < args.size(); i++)
|
for (int i = 0; i < size; i++)
|
||||||
if (strcmp(prev->args[i], args[i]) && sys::path::stem(args[i]) != stem)
|
if (strcmp(prev->args[i], args[i]) && sys::path::stem(args[i]) != stem) {
|
||||||
changed = true;
|
changed = i;
|
||||||
if (changed)
|
break;
|
||||||
|
}
|
||||||
|
if (changed < 0 && prev->args.size() != args.size())
|
||||||
|
changed = size;
|
||||||
|
if (changed >= 0)
|
||||||
LOG_V(1) << "args changed for " << path
|
LOG_V(1) << "args changed for " << path
|
||||||
<< (from ? " (via " + *from + ")" : std::string());
|
<< (from ? " (via " + *from + ")" : std::string()) << "; old: "
|
||||||
return changed;
|
<< (changed < prev->args.size() ? prev->args[changed] : "")
|
||||||
|
<< "; new: " << (changed < size ? args[changed] : "");
|
||||||
|
return changed >= 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string AppendSerializationFormat(const std::string &base) {
|
std::string AppendSerializationFormat(const std::string &base) {
|
||||||
|
Loading…
Reference in New Issue
Block a user