================ @@ -14017,6 +14017,24 @@ void Sema::CheckCastAlign(Expr *Op, QualType T, SourceRange TRange) { << TRange << Op->getSourceRange(); } +void Sema::CheckVectorAccess(const Expr *BaseExpr, const Expr *IndexExpr) { + const VectorType *VTy = BaseExpr->getType()->getAs<VectorType>(); + if (!VTy) + return; + + Expr::EvalResult Result; + if (!IndexExpr->EvaluateAsInt(Result, Context, Expr::SE_AllowSideEffects)) + return; + + unsigned DiagID = getLangOpts().HLSL ? diag::err_vector_index_out_of_range + : diag::warn_vector_index_out_of_range; ---------------- svenvh wrote:
> @svenvh are you okay with this becoming an error for OpenCL? Yes that's fine with me, I can't think of any reason why we would want OpenCL to behave differently from other languages here. https://github.com/llvm/llvm-project/pull/128952 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits