From 8abde4b447dba9647a50b04e732294e2e2a4e843 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 31 Jan 2010 17:18:49 +0000 Subject: Diagnose binding a non-const reference to a vector element. llvm-svn: 94963 --- clang/test/SemaCXX/references.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'clang/test/SemaCXX/references.cpp') 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; +} -- cgit v1.2.3