Lines Matching defs:IndexExpr
5048 // Check that IndexExpr is an integer expression. If it is a constant
5051 auto IsIndexValid = [&](Expr *IndexExpr, unsigned Dim,
5053 if (!IndexExpr->getType()->isIntegerType() &&
5054 !IndexExpr->isTypeDependent()) {
5055 Diag(IndexExpr->getBeginLoc(), diag::err_matrix_index_not_integer)
5061 IndexExpr->getIntegerConstantExpr(Context)) {
5063 Diag(IndexExpr->getBeginLoc(), diag::err_matrix_index_outside_range)
5069 ExprResult ConvExpr = IndexExpr;
5170 Expr *BaseExpr, *IndexExpr;
5174 IndexExpr = RHSExp;
5179 IndexExpr = RHSExp;
5184 IndexExpr = RHSExp;
5189 return ObjC().BuildObjCSubscriptExpression(RLoc, BaseExpr, IndexExpr,
5196 IndexExpr = LHSExp;
5202 IndexExpr = LHSExp;
5223 IndexExpr = RHSExp;
5254 IndexExpr = RHSExp;
5265 IndexExpr = LHSExp;
5272 if (!IndexExpr->getType()->isIntegerType() && !IndexExpr->isTypeDependent())
5274 << IndexExpr->getSourceRange());
5276 if ((IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
5277 IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_U)) &&
5278 !IndexExpr->isTypeDependent()) {
5280 IndexExpr->getIntegerConstantExpr(getASTContext());
5283 Diag(LLoc, diag::warn_subscript_is_char) << IndexExpr->getSourceRange();
10875 Expr* IndexExpr = RHSExpr;
10878 IndexExpr = LHSExpr;
10882 IndexExpr->getType()->isIntegralOrUnscopedEnumerationType();
10883 if (!IsStringPlusInt || IndexExpr->isValueDependent())
10888 << DiagRange << IndexExpr->IgnoreImpCasts()->getType();
10891 if (IndexExpr == RHSExpr) {