//===--------------------------------------------------------------------===//
// Visitor Methods
//===--------------------------------------------------------------------===//
-
+
ComplexPairTy VisitStmt(Stmt *S) {
- fprintf(stderr, "Unimplemented agg expr!\n");
S->dump();
+ assert(0 && "Stmt can't have complex result type!");
return ComplexPairTy();
}
+ ComplexPairTy VisitExpr(Expr *S);
ComplexPairTy VisitParenExpr(ParenExpr *PE) { return Visit(PE->getSubExpr());}
// l-values.
// case Expr::ImplicitCastExprClass:
// case Expr::CastExprClass:
// case Expr::CallExprClass:
- ComplexPairTy VisitBinaryOperator(const BinaryOperator *BO);
ComplexPairTy VisitBinMul (const BinaryOperator *E);
ComplexPairTy VisitBinAdd (const BinaryOperator *E);
// FIXME: div/rem
// Visitor Methods
//===----------------------------------------------------------------------===//
-ComplexPairTy ComplexExprEmitter::VisitBinaryOperator(const BinaryOperator *E) {
- fprintf(stderr, "Unimplemented complex binary expr!\n");
+ComplexPairTy ComplexExprEmitter::VisitExpr(Expr *E) {
+ fprintf(stderr, "Unimplemented complex expr!\n");
E->dump();
- return ComplexPairTy();
+ const llvm::Type *EltTy =
+ CGF.ConvertType(E->getType()->getAsComplexType()->getElementType());
+ llvm::Value *U = llvm::UndefValue::get(EltTy);
+ return ComplexPairTy(U, U);
}
ComplexPairTy ComplexExprEmitter::VisitBinAdd(const BinaryOperator *E) {
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "clang" */;
- compatibilityVersion = "Xcode 2.4";
hasScannedForEncodings = 1;
mainGroup = 08FB7794FE84155DC02AAC07 /* clang */;
projectDirPath = "";