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) {