diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-21 18:32:21 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-21 18:32:21 +0000 |
commit | cb75021034fdeb7e59a3b995eba2f66e5118a785 (patch) | |
tree | 15d2633c0c4d9a117f30cb43efb5b3870a8b2086 /clang/test/CodeGenCXX/gnu-conditional-scalar-ext.cpp | |
parent | e3a7d1ba40eecc578f8f81219d59ca2d0090e82a (diff) | |
download | bcm5719-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.cpp | 19 |
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; } } |