[cfe-commits] r74404 - in /cfe/trunk: lib/Sema/SemaExpr.cpp test/Sema/ext_vector_casts.c
Eli Friedman
eli.friedman at gmail.com
Sat Jun 27 20:13:42 PDT 2009
On Sat, Jun 27, 2009 at 7:36 PM, Nate Begeman<natebegeman at mac.com> 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)"?
-Eli
More information about the cfe-commits
mailing list