and/or/xor are invalid for complex, even integer complex apparently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41234 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CGExpr.cpp b/CodeGen/CGExpr.cpp
index b36bff0..5e60e7b 100644
--- a/CodeGen/CGExpr.cpp
+++ b/CodeGen/CGExpr.cpp
@@ -1273,24 +1273,15 @@
}
RValue CodeGenFunction::EmitAnd(RValue LHS, RValue RHS, QualType ResTy) {
- if (LHS.isScalar())
- return RValue::get(Builder.CreateAnd(LHS.getVal(), RHS.getVal(), "and"));
-
- assert(0 && "FIXME: This doesn't handle complex integer operands yet (GNU)");
+ return RValue::get(Builder.CreateAnd(LHS.getVal(), RHS.getVal(), "and"));
}
RValue CodeGenFunction::EmitXor(RValue LHS, RValue RHS, QualType ResTy) {
- if (LHS.isScalar())
- return RValue::get(Builder.CreateXor(LHS.getVal(), RHS.getVal(), "xor"));
-
- assert(0 && "FIXME: This doesn't handle complex integer operands yet (GNU)");
+ return RValue::get(Builder.CreateXor(LHS.getVal(), RHS.getVal(), "xor"));
}
RValue CodeGenFunction::EmitOr(RValue LHS, RValue RHS, QualType ResTy) {
- if (LHS.isScalar())
- return RValue::get(Builder.CreateOr(LHS.getVal(), RHS.getVal(), "or"));
-
- assert(0 && "FIXME: This doesn't handle complex integer operands yet (GNU)");
+ return RValue::get(Builder.CreateOr(LHS.getVal(), RHS.getVal(), "or"));
}
RValue CodeGenFunction::EmitBinaryLAnd(const BinaryOperator *E) {