[clang] [Clang][Sema] Reject array prvalue operands (PR #140702)
via cfe-commits
cfe-commits at lists.llvm.org
Tue May 20 03:03:20 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp -- clang/lib/Sema/SemaExpr.cpp clang/test/CXX/expr/p8.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 6b1704a10..62386d80c 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -11333,8 +11333,10 @@ QualType Sema::CheckAdditionOperands(ExprResult &LHS, ExprResult &RHS,
if (!IExp->getType()->isIntegerType())
return InvalidOperands(Loc, LHS, RHS);
- if (OriginalOperand Orig(PExp); Orig.getType()->isArrayType() && Orig.Orig->isPRValue()) {
- Diag(Loc, diag::err_typecheck_array_prvalue_operand) << PExp->getSourceRange();
+ if (OriginalOperand Orig(PExp);
+ Orig.getType()->isArrayType() && Orig.Orig->isPRValue()) {
+ Diag(Loc, diag::err_typecheck_array_prvalue_operand)
+ << PExp->getSourceRange();
return QualType();
}
@@ -11435,12 +11437,16 @@ QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS,
}
OriginalOperand OrigLHS(LHS.get()), OrigRHS(RHS.get());
- bool LHSArrayPRV = OrigLHS.getType()->isArrayType() && OrigLHS.Orig->isPRValue();
- bool RHSArrayPRV = OrigRHS.getType()->isArrayType() && OrigRHS.Orig->isPRValue();
+ bool LHSArrayPRV =
+ OrigLHS.getType()->isArrayType() && OrigLHS.Orig->isPRValue();
+ bool RHSArrayPRV =
+ OrigRHS.getType()->isArrayType() && OrigRHS.Orig->isPRValue();
if (LHSArrayPRV || RHSArrayPRV) {
- auto&& diag = Diag(Loc, diag::err_typecheck_array_prvalue_operand);
- if (LHSArrayPRV) diag << LHS.get()->getSourceRange();
- if (RHSArrayPRV) diag << RHS.get()->getSourceRange();
+ auto &&diag = Diag(Loc, diag::err_typecheck_array_prvalue_operand);
+ if (LHSArrayPRV)
+ diag << LHS.get()->getSourceRange();
+ if (RHSArrayPRV)
+ diag << RHS.get()->getSourceRange();
return QualType();
}
@@ -15856,8 +15862,10 @@ ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc,
resultType = Context.DependentTy;
} else {
if (Opc == UO_Deref || Opc == UO_Plus) {
- if (auto *expr = Input.get(); expr->getType()->isArrayType() && expr->isPRValue()) {
- Diag(OpLoc, diag::err_typecheck_array_prvalue_operand) << expr->getSourceRange();
+ if (auto *expr = Input.get();
+ expr->getType()->isArrayType() && expr->isPRValue()) {
+ Diag(OpLoc, diag::err_typecheck_array_prvalue_operand)
+ << expr->getSourceRange();
return ExprError();
}
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/140702
More information about the cfe-commits
mailing list