diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-06-04 04:45:03 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-06-04 04:45:03 +0000 |
commit | 34f94f93dc20e08c9327441e4b5bcbce9ba23e9c (patch) | |
tree | e09b7569e03d34fdf6a2248673ba1e46260b9d8b /test/CodeGenCXX/temporaries.cpp | |
parent | a7ff62f9443efa3b13a28a1e566d4625b15b8553 (diff) |
Remove some unreachable (and wrong) code and replace it with an assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183206 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/temporaries.cpp')
-rw-r--r-- | test/CodeGenCXX/temporaries.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGenCXX/temporaries.cpp b/test/CodeGenCXX/temporaries.cpp index 37871b8638..61b517abeb 100644 --- a/test/CodeGenCXX/temporaries.cpp +++ b/test/CodeGenCXX/temporaries.cpp @@ -616,3 +616,25 @@ namespace Bitfield { // CHECK: store i32* @_ZGRN8Bitfield1rE, i32** @_ZN8Bitfield1rE, align 8 int &&r = S().a; } + +namespace Vector { + typedef __attribute__((vector_size(16))) int vi4a; + typedef __attribute__((ext_vector_type(4))) int vi4b; + struct S { + vi4a v; + vi4b w; + }; + // CHECK: alloca + // CHECK: extractelement + // CHECK: store i32 {{.*}}, i32* @_ZGRN6Vector1rE, + // CHECK: store i32* @_ZGRN6Vector1rE, i32** @_ZN6Vector1rE, + int &&r = S().v[1]; + + // CHECK: alloca + // CHECK: extractelement + // CHECK: store i32 {{.*}}, i32* @_ZGRN6Vector1sE, + // CHECK: store i32* @_ZGRN6Vector1sE, i32** @_ZN6Vector1sE, + int &&s = S().w[1]; + // FIXME PR16204: The following code leads to an assertion in Sema. + //int &&s = S().w.y; +} |