Fix a use of freed string contents.

Speculatively try to fix our windows testers with a patch I found on the internet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139279 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick 2011-09-08 05:25:49 +00:00
parent ed968a9a04
commit 22b4c819d4

View File

@ -764,11 +764,11 @@ void FilterChooser::emitBinaryParser(raw_ostream &o, unsigned &Indentation,
static void emitSinglePredicateMatch(raw_ostream &o, StringRef str,
std::string PredicateNamespace) {
const char *X = str.str().c_str();
if (X[0] == '!')
o << "!(Bits & " << PredicateNamespace << "::" << &X[1] << ")";
if (str[0] == '!')
o << "!(Bits & " << PredicateNamespace << "::"
<< str.slice(1,str.size()) << ")";
else
o << "(Bits & " << PredicateNamespace << "::" << X << ")";
o << "(Bits & " << PredicateNamespace << "::" << str << ")";
}
bool FilterChooser::emitPredicateMatch(raw_ostream &o, unsigned &Indentation,