On Sat, Jun 27, 2009 at 9:01 PM, Nate Begeman<[email protected]> wrote: > > On Jun 27, 2009, at 10:13 PM, Eli Friedman wrote: > >> On Sat, Jun 27, 2009 at 7:36 PM, Nate Begeman<[email protected]> wrote: >>> >>> + // Handle the case of an ext vector and scalar >>> + if (const ExtVectorType *LV = lhsType->getAsExtVectorType()) { >>> + QualType EltTy = LV->getElementType(); >>> + if (EltTy->isIntegralType() && rhsType->isIntegralType()) { >>> + if (Context.getIntegerTypeOrder(EltTy, rhsType) >= 0) { >>> + ImpCastExprToType(rex, EltTy); >>> + rex = new (Context) CStyleCastExpr(lhsType, rex, lhsType, >>> + >>> rex->getSourceRange().getBegin(), >>> + >>> rex->getSourceRange().getEnd()); >>> + if (swapped) std::swap(rex, lex); >>> + return lhsType; >>> + } >>> + } >> >> Creating a CStyleCastExpr here leads to a misleading AST; is there >> some reason why you can't just use ImpCastExprToType(rex, lhsType)"? > > This avoided significant modifications to CodeGen, and accomplished the > desired effect.
What changes are you talking about? I just tried it in my tree, and it appears to work fine without any additional changes. -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
