summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2009-06-27 22:05:55 +0000
committerNate Begeman <natebegeman@mac.com>2009-06-27 22:05:55 +0000
commitc8961a424d9ebefd981f894a79562c0d0d592df0 (patch)
treea64cef18d3b1672fa3b07acfc66d28bab7cb0ee8 /clang/lib/Sema
parentc8ca49659ac479b5be0349528d42179f40fc553b (diff)
downloadbcm5719-llvm-c8961a424d9ebefd981f894a79562c0d0d592df0.tar.gz
bcm5719-llvm-c8961a424d9ebefd981f894a79562c0d0d592df0.zip
Implement feedback from Eli re: the purpose of lax vector conversions
llvm-svn: 74397
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 383edeca07a..464ee939ffe 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2931,19 +2931,8 @@ bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty) {
bool Sema::CheckExtVectorCast(SourceRange R, QualType DestTy, QualType SrcTy) {
assert(DestTy->isExtVectorType() && "Not an extended vector type!");
- // If SrcTy is also an ExtVectorType, the types must be identical unless
- // lax vector conversions is enabled.
- if (SrcTy->isExtVectorType()) {
- if (getLangOptions().LaxVectorConversions &&
- Context.getTypeSize(DestTy) == Context.getTypeSize(SrcTy))
- return false;
- if (DestTy != SrcTy)
- return Diag(R.getBegin(),diag::err_invalid_conversion_between_ext_vectors)
- << DestTy << SrcTy << R;
- return false;
- }
-
- // If SrcTy is a VectorType, then only the total size must match.
+ // If SrcTy is a VectorType, the total size must match to explicitly cast to
+ // an ExtVectorType.
if (SrcTy->isVectorType()) {
if (Context.getTypeSize(DestTy) != Context.getTypeSize(SrcTy))
return Diag(R.getBegin(),diag::err_invalid_conversion_between_ext_vectors)
OpenPOWER on IntegriCloud