diff options
author | Anders Carlsson <andersca@mac.com> | 2010-01-31 17:18:49 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-01-31 17:18:49 +0000 |
commit | 8abde4b447dba9647a50b04e732294e2e2a4e843 (patch) | |
tree | 6d0124cde73e8f25b2f64d46e5c18ec41638ab9c /clang/test/SemaCXX/references.cpp | |
parent | cd6d4260757c9c7a82aff1c0bde11083334d5f6e (diff) | |
download | bcm5719-llvm-8abde4b447dba9647a50b04e732294e2e2a4e843.tar.gz bcm5719-llvm-8abde4b447dba9647a50b04e732294e2e2a4e843.zip |
Diagnose binding a non-const reference to a vector element.
llvm-svn: 94963
Diffstat (limited to 'clang/test/SemaCXX/references.cpp')
-rw-r--r-- | clang/test/SemaCXX/references.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/references.cpp b/clang/test/SemaCXX/references.cpp index 630f53f2839..df8337bec82 100644 --- a/clang/test/SemaCXX/references.cpp +++ b/clang/test/SemaCXX/references.cpp @@ -102,3 +102,16 @@ string getInput(); void test9() { string &s = getInput(); // expected-error{{lvalue reference}} } + +void test10() { + __attribute((vector_size(16))) typedef int vec4; + typedef __attribute__(( ext_vector_type(4) )) int ext_vec4; + + vec4 v; + int &a = v[0]; // expected-error{{non-const reference cannot bind to vector element}} + const int &b = v[0]; + + ext_vec4 ev; + int &c = ev.x; // expected-error{{non-const reference cannot bind to vector element}} + const int &d = ev.x; +} |