std::string TernOpInit::getAsString() const {
std::string Result;
+ bool UnquotedLHS = false;
switch (getOpcode()) {
case SUBST: Result = "!subst"; break;
- case FOREACH: Result = "!foreach"; break;
+ case FOREACH: Result = "!foreach"; UnquotedLHS = true; break;
case IF: Result = "!if"; break;
case DAG: Result = "!dag"; break;
}
- return Result + "(" + LHS->getAsString() + ", " + MHS->getAsString() + ", " +
- RHS->getAsString() + ")";
+ return (Result + "(" +
+ (UnquotedLHS ? LHS->getAsUnquotedString() : LHS->getAsString()) +
+ ", " + MHS->getAsString() + ", " + RHS->getAsString() + ")");
}
static void ProfileFoldOpInit(FoldingSetNodeID &ID, Init *A, Init *B,