diff options
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; +} +} |