IRgen for gnu extension's conditional lvalue expression
with missing LHS. radar 8453812. Executable test is checked
into llvm test suite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114457 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp b/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
index a3f9fd2..25eafc7 100644
--- a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
+++ b/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
@@ -39,8 +39,25 @@
return getComplex(1+2i) ? : rhs;
}
+// lvalue test
+void foo (int& lv) {
+ ++lv;
+}
+
+int global = 1;
+
+int &cond() {
+ static int count;
+ if (count++)
+ abort();
+ return global;
+}
+
+
int main() {
cmplx();
- return 0;
+ int rhs = 10;
+ foo (cond()? : rhs);
+ return global-2;
}
}