Fix complete badness in bugpoint's IsARMArchitecture() function.

The revision history for this function is interesting, with multiple layers of
wrongness being introduced one at a time.

This fixes a weird issue where bugpoint -run-llc would suddenly exit 13 half way
through isolating a miscompilation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103721 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2010-05-13 17:58:15 +00:00
parent eb7d818969
commit 18e05b4692

View File

@ -620,10 +620,9 @@ CBE *AbstractInterpreter::createCBE(const char *Argv0,
static bool IsARMArchitecture(std::vector<std::string> Args) { static bool IsARMArchitecture(std::vector<std::string> Args) {
for (std::vector<std::string>::const_iterator for (std::vector<std::string>::const_iterator
I = Args.begin(), E = Args.end(); I != E; ++I) { I = Args.begin(), E = Args.end(); I != E; ++I) {
StringRef S(*I); if (StringRef(*I).equals_lower("-arch")) {
if (!S.equals_lower("-arch")) {
++I; ++I;
if (I != E && !S.substr(0, strlen("arm")).equals_lower("arm")) if (I != E && StringRef(*I).substr(0, strlen("arm")).equals_lower("arm"))
return true; return true;
} }
} }