diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-20 23:50:22 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-20 23:50:22 +0000 |
commit | aa3b57ee9e36a805371e2a543383225cdd2a5d83 (patch) | |
tree | eb7c0aee32f0c898abec658979bd3e4e41c5efaa /test/CodeGenCXX/gnu-conditional-scalar-ext.cpp | |
parent | 70c5ac70ace21b011dc2d4001bae26cdcf62ff8d (diff) |
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
Diffstat (limited to 'test/CodeGenCXX/gnu-conditional-scalar-ext.cpp')
-rw-r--r-- | test/CodeGenCXX/gnu-conditional-scalar-ext.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp b/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp index dfd9d41489..a3f9fd2190 100644 --- a/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp +++ b/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; +} +} |