// l-values.
ComplexPairTy VisitDeclRefExpr(Expr *E) { return EmitLoadOfLValue(E); }
ComplexPairTy VisitArraySubscriptExpr(Expr *E) { return EmitLoadOfLValue(E); }
+ ComplexPairTy VisitMemberExpr(Expr *E) { return EmitLoadOfLValue(E); }
+ // FIXME: Call
+ // FIXME: CompoundLiteralExpr
+ // FIXME: ImplicitCastExpr
+ // FIXME: CastExpr
+
// Operators.
ComplexPairTy VisitPrePostIncDec(const UnaryOperator *E,
bool isInc, bool isPre);
return Visit(E->getSubExpr());
}
- // case Expr::ImplicitCastExprClass:
- // case Expr::CastExprClass:
- // case Expr::CallExprClass:
ComplexPairTy VisitBinMul (const BinaryOperator *E);
ComplexPairTy VisitBinAdd (const BinaryOperator *E);
// FIXME: div/rem
// No comparisons produce a complex result.
ComplexPairTy VisitBinAssign (const BinaryOperator *E);
-
+ // FIXME: Compound assignment operators.
ComplexPairTy VisitBinComma (const BinaryOperator *E);