diff options
| author | David Tweed <david.tweed@arm.com> | 2013-09-06 09:58:08 +0000 |
|---|---|---|
| committer | David Tweed <david.tweed@arm.com> | 2013-09-06 09:58:08 +0000 |
| commit | 16574d8e8590815c712160a3cfd41fd0e47cc311 (patch) | |
| tree | f905311d781ef497ada5428e296dc588ea45eb27 /clang/lib | |
| parent | e009ef4ac15414316dec7ae70ed7780e5b3152e4 (diff) | |
| download | bcm5719-llvm-16574d8e8590815c712160a3cfd41fd0e47cc311.tar.gz bcm5719-llvm-16574d8e8590815c712160a3cfd41fd0e47cc311.zip | |
OpenCL allows the (pre/post)-(increment/decrement) operator on integer vector types,
so allow that case and add appropriate tests.
Patch by Ruiling Song!
llvm-svn: 190129
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 5339c23c03d..da834cc2519 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -8413,6 +8413,9 @@ static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op, IsInc, IsPrefix); } else if (S.getLangOpts().AltiVec && ResType->isVectorType()) { // 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 { S.Diag(OpLoc, diag::err_typecheck_illegal_increment_decrement) << ResType << int(IsInc) << Op->getSourceRange(); |

