summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-09-21 18:32:21 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-09-21 18:32:21 +0000
commitcb75021034fdeb7e59a3b995eba2f66e5118a785 (patch)
tree15d2633c0c4d9a117f30cb43efb5b3870a8b2086 /clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
parente3a7d1ba40eecc578f8f81219d59ca2d0090e82a (diff)
downloadbcm5719-llvm-cb75021034fdeb7e59a3b995eba2f66e5118a785.tar.gz
bcm5719-llvm-cb75021034fdeb7e59a3b995eba2f66e5118a785.zip
IRgen for gnu extension's conditional lvalue expression
with missing LHS. radar 8453812. Executable test is checked into llvm test suite. llvm-svn: 114457
Diffstat (limited to 'clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp')
-rw-r--r--clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp b/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
index a3f9fd2190b..25eafc7e1b1 100644
--- a/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
+++ b/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
@@ -39,8 +39,25 @@ _Complex int cmplx() {
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;
}
}
OpenPOWER on IntegriCloud