BUG: Fix logic that loops over multiple output pairs to not loop beyond the vector when there are an odd number of entries.
This commit is contained in:
parent
ffbe61bb11
commit
09dd298f63
@ -1525,12 +1525,10 @@ void cmLocalUnixMakefileGenerator3::CheckMultipleOutputs(bool verbose)
|
|||||||
std::vector<std::string> pairs;
|
std::vector<std::string> pairs;
|
||||||
cmSystemTools::ExpandListArgument(pairs_string, pairs, true);
|
cmSystemTools::ExpandListArgument(pairs_string, pairs, true);
|
||||||
for(std::vector<std::string>::const_iterator i = pairs.begin();
|
for(std::vector<std::string>::const_iterator i = pairs.begin();
|
||||||
i != pairs.end(); ++i)
|
i != pairs.end() && (i+1) != pairs.end();)
|
||||||
{
|
{
|
||||||
const std::string& depender = *i;
|
const std::string& depender = *i++;
|
||||||
if(++i != pairs.end())
|
const std::string& dependee = *i++;
|
||||||
{
|
|
||||||
const std::string& dependee = *i;
|
|
||||||
|
|
||||||
// If the depender is missing then delete the dependee to make
|
// If the depender is missing then delete the dependee to make
|
||||||
// sure both will be regenerated.
|
// sure both will be regenerated.
|
||||||
@ -1548,7 +1546,6 @@ void cmLocalUnixMakefileGenerator3::CheckMultipleOutputs(bool verbose)
|
|||||||
cmSystemTools::RemoveFile(dependee.c_str());
|
cmSystemTools::RemoveFile(dependee.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user