summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-09-20 23:50:22 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-09-20 23:50:22 +0000
commit8162d4ad319d309be3ede9cefc0bd9870396b87f (patch)
tree01fe4ac6fd5e4b223e8c02240f50544a45d03681 /clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
parentf86e4da7ae8084261d95565568354b92e5790373 (diff)
downloadbcm5719-llvm-8162d4ad319d309be3ede9cefc0bd9870396b87f.tar.gz
bcm5719-llvm-8162d4ad319d309be3ede9cefc0bd9870396b87f.zip
Implements in IRgen gnu extensions missing LHS for
complex conditionals. Radar 8453812. llvm-svn: 114376
Diffstat (limited to 'clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp')
-rw-r--r--clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp b/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
index dfd9d414895..a3f9fd2190b 100644
--- a/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
+++ b/clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp
@@ -22,3 +22,25 @@ int main () {
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;
+}
+}
OpenPOWER on IntegriCloud