Implements in IRgen gnu extensions missing LHS for
complex conditionals. Radar 8453812.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114376 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp b/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
index dfd9d41..a3f9fd2 100644
--- a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
+++ b/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
@@ -22,3 +22,25 @@
abort();
}
}
+
+namespace radar8453812 {
+extern "C" void abort();
+_Complex int getComplex(_Complex int val) {
+ static int count;
+ if (count++)
+ abort();
+ return val;
+}
+
+_Complex int cmplx() {
+ _Complex int cond;
+ _Complex int rhs;
+
+ return getComplex(1+2i) ? : rhs;
+}
+
+int main() {
+ cmplx();
+ return 0;
+}
+}