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 | 8162d4ad319d309be3ede9cefc0bd9870396b87f (patch) | |
tree | 01fe4ac6fd5e4b223e8c02240f50544a45d03681 /clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp | |
parent | f86e4da7ae8084261d95565568354b92e5790373 (diff) | |
download | bcm5719-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.cpp | 22 |
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; +} +} |