summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-01-31 17:18:49 +0000
committerAnders Carlsson <andersca@mac.com>2010-01-31 17:18:49 +0000
commit8abde4b447dba9647a50b04e732294e2e2a4e843 (patch)
tree6d0124cde73e8f25b2f64d46e5c18ec41638ab9c /clang/lib/Sema/SemaExpr.cpp
parentcd6d4260757c9c7a82aff1c0bde11083334d5f6e (diff)
downloadbcm5719-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/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 3b09a583cd2..75be50fc0fd 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -5968,8 +5968,7 @@ QualType Sema::CheckAddressOfOperand(Expr *op, SourceLocation OpLoc) {
Diag(OpLoc, diag::err_typecheck_address_of)
<< "bit-field" << op->getSourceRange();
return QualType();
- } else if (isa<ExtVectorElementExpr>(op) || (isa<ArraySubscriptExpr>(op) &&
- cast<ArraySubscriptExpr>(op)->getBase()->getType()->isVectorType())){
+ } else if (op->refersToVectorElement()) {
// The operand cannot be an element of a vector
Diag(OpLoc, diag::err_typecheck_address_of)
<< "vector element" << op->getSourceRange();
OpenPOWER on IntegriCloud