diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-06-12 01:40:06 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-06-12 01:40:06 +0000 |
commit | f045007f117f91656a5d16ae004cfc3934c61c70 (patch) | |
tree | bc9790a7b7b22b15957b1b048ff659ba96763f55 /clang/test/CodeGen | |
parent | d8cf1a119d4c38e59ade90018a4df015dff63383 (diff) | |
download | bcm5719-llvm-f045007f117f91656a5d16ae004cfc3934c61c70.tar.gz bcm5719-llvm-f045007f117f91656a5d16ae004cfc3934c61c70.zip |
Add support for complex compound assignments where the LHS is a scalar.
Fixes <rdar://problem/11224126> and PR12790.
llvm-svn: 183821
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r-- | clang/test/CodeGen/complex.c | 6 | ||||
-rw-r--r-- | clang/test/CodeGen/volatile-1.c | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/clang/test/CodeGen/complex.c b/clang/test/CodeGen/complex.c index 1212660e878..e99a7152813 100644 --- a/clang/test/CodeGen/complex.c +++ b/clang/test/CodeGen/complex.c @@ -32,8 +32,7 @@ void test3() { double Gr = __real g1; cf += D; - // FIXME: Currently unsupported! - //D += cf; + D += cf; cf /= g1; g1 = g1 + D; g1 = D + g1; @@ -51,8 +50,7 @@ void test3int() { i = __real ci1; cs += i; - // FIXME: Currently unsupported! - //D += cf; + D += cf; cs /= ci1; ci1 = ci1 + i; ci1 = i + ci1; diff --git a/clang/test/CodeGen/volatile-1.c b/clang/test/CodeGen/volatile-1.c index 65511593d32..42e576540ff 100644 --- a/clang/test/CodeGen/volatile-1.c +++ b/clang/test/CodeGen/volatile-1.c @@ -313,3 +313,15 @@ void test1() { (void) x; return x; } + +// CHECK: define i32 @test2() +int test2() { + // CHECK: load volatile i32* + // CHECK-NEXT: load volatile i32* + // CHECK-NEXT: load volatile i32* + // CHECK-NEXT: add i32 + // CHECK-NEXT: add i32 + // CHECK-NEXT: store volatile i32 + // CHECK-NEXT: ret i32 + return i += ci; +} |