|
@@ -8413,6 +8413,9 @@ static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op,
|
|
IsInc, IsPrefix);
|
|
IsInc, IsPrefix);
|
|
} else if (S.getLangOpts().AltiVec && ResType->isVectorType()) {
|
|
} else if (S.getLangOpts().AltiVec && ResType->isVectorType()) {
|
|
// OK! ( C/C++ Language Extensions for CBEA(Version 2.6) 10.3 )
|
|
// OK! ( C/C++ Language Extensions for CBEA(Version 2.6) 10.3 )
|
|
|
|
+ } else if(S.getLangOpts().OpenCL && ResType->isVectorType() &&
|
|
|
|
+ ResType->getAs<VectorType>()->getElementType()->isIntegerType()) {
|
|
|
|
+ // OpenCL V1.2 6.3 says dec/inc ops operate on integer vector types.
|
|
} else {
|
|
} else {
|
|
S.Diag(OpLoc, diag::err_typecheck_illegal_increment_decrement)
|
|
S.Diag(OpLoc, diag::err_typecheck_illegal_increment_decrement)
|
|
<< ResType << int(IsInc) << Op->getSourceRange();
|
|
<< ResType << int(IsInc) << Op->getSourceRange();
|