diff options
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index e6a3b54..9d0516e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -15295,7 +15295,8 @@ ExprResult Sema::SemaBuiltinMatrixColumnMajorLoad(CallExpr *TheCall, if (checkArgCount(*this, TheCall, 4)) return ExprError(); - Expr *PtrExpr = TheCall->getArg(0); + unsigned PtrArgIdx = 0; + Expr *PtrExpr = TheCall->getArg(PtrArgIdx); Expr *RowsExpr = TheCall->getArg(1); Expr *ColumnsExpr = TheCall->getArg(2); Expr *StrideExpr = TheCall->getArg(3); @@ -15319,14 +15320,14 @@ ExprResult Sema::SemaBuiltinMatrixColumnMajorLoad(CallExpr *TheCall, QualType ElementTy; if (!PtrTy) { Diag(PtrExpr->getBeginLoc(), diag::err_builtin_matrix_pointer_arg) - << "first"; + << PtrArgIdx + 1; ArgError = true; } else { ElementTy = PtrTy->getPointeeType().getUnqualifiedType(); if (!ConstantMatrixType::isValidElementType(ElementTy)) { Diag(PtrExpr->getBeginLoc(), diag::err_builtin_matrix_pointer_arg) - << "first"; + << PtrArgIdx + 1; ArgError = true; } } @@ -15402,8 +15403,9 @@ ExprResult Sema::SemaBuiltinMatrixColumnMajorStore(CallExpr *TheCall, if (checkArgCount(*this, TheCall, 3)) return ExprError(); + unsigned PtrArgIdx = 1; Expr *MatrixExpr = TheCall->getArg(0); - Expr *PtrExpr = TheCall->getArg(1); + Expr *PtrExpr = TheCall->getArg(PtrArgIdx); Expr *StrideExpr = TheCall->getArg(2); bool ArgError = false; @@ -15442,7 +15444,7 @@ ExprResult Sema::SemaBuiltinMatrixColumnMajorStore(CallExpr *TheCall, auto *PtrTy = PtrExpr->getType()->getAs<PointerType>(); if (!PtrTy) { Diag(PtrExpr->getBeginLoc(), diag::err_builtin_matrix_pointer_arg) - << "second"; + << PtrArgIdx + 1; ArgError = true; } else { QualType ElementTy = PtrTy->getPointeeType(); |