[clang] 531b8ac - [clang][AST][NFC] const-correctness improvements for member functions returing `ArrayRef` (#195784)
via cfe-commits
cfe-commits at lists.llvm.org
Tue May 5 00:35:08 PDT 2026
Author: Yanzuo Liu
Date: 2026-05-05T15:35:04+08:00
New Revision: 531b8ac2d71a7e24db483fc8987c1d5ff932b9bc
URL: https://github.com/llvm/llvm-project/commit/531b8ac2d71a7e24db483fc8987c1d5ff932b9bc
DIFF: https://github.com/llvm/llvm-project/commit/531b8ac2d71a7e24db483fc8987c1d5ff932b9bc.diff
LOG: [clang][AST][NFC] const-correctness improvements for member functions returing `ArrayRef` (#195784)
- Add const qualifiers to member functions.
- Drop non-const-qualified member functions whose const-qualified
versions return same thing.
Added:
Modified:
clang/include/clang/AST/Expr.h
clang/include/clang/AST/ExprCXX.h
clang/include/clang/AST/OpenACCClause.h
clang/include/clang/AST/StmtOpenACC.h
Removed:
################################################################################
diff --git a/clang/include/clang/AST/Expr.h b/clang/include/clang/AST/Expr.h
index a0ab599fa82d2..393fe275c6269 100644
--- a/clang/include/clang/AST/Expr.h
+++ b/clang/include/clang/AST/Expr.h
@@ -3214,7 +3214,7 @@ class CallExpr : public Expr {
/// a CallExpr without going through the slower virtual child_iterator
/// interface. This provides efficient reverse iteration of the
/// subexpressions. This is currently used for CFG construction.
- ArrayRef<Stmt *> getRawSubExprs() {
+ ArrayRef<Stmt *> getRawSubExprs() const {
return {getTrailingStmts(), PREARGS_START + getNumPreArgs() + getNumArgs()};
}
@@ -5349,8 +5349,6 @@ class InitListExpr : public Expr {
return reinterpret_cast<Expr * const *>(InitExprs.data());
}
- ArrayRef<Expr *> inits() { return {getInits(), getNumInits()}; }
-
ArrayRef<Expr *> inits() const { return {getInits(), getNumInits()}; }
const Expr *getInit(unsigned Init) const {
@@ -6123,7 +6121,11 @@ class ParenListExpr final
Expr **getExprs() { return reinterpret_cast<Expr **>(getTrailingObjects()); }
- ArrayRef<Expr *> exprs() { return {getExprs(), getNumExprs()}; }
+ Expr *const *getExprs() const {
+ return reinterpret_cast<Expr *const *>(getTrailingObjects());
+ }
+
+ ArrayRef<Expr *> exprs() const { return {getExprs(), getNumExprs()}; }
SourceLocation getLParenLoc() const { return LParenLoc; }
SourceLocation getRParenLoc() const { return RParenLoc; }
diff --git a/clang/include/clang/AST/ExprCXX.h b/clang/include/clang/AST/ExprCXX.h
index bfdff25a2509b..0287797370397 100644
--- a/clang/include/clang/AST/ExprCXX.h
+++ b/clang/include/clang/AST/ExprCXX.h
@@ -5184,10 +5184,6 @@ class CXXParenListInitExpr final
ArrayRef<Expr *> getInitExprs() const { return getTrailingObjects(NumExprs); }
- ArrayRef<Expr *> getUserSpecifiedInitExprs() {
- return getTrailingObjects(NumUserSpecifiedExprs);
- }
-
ArrayRef<Expr *> getUserSpecifiedInitExprs() const {
return getTrailingObjects(NumUserSpecifiedExprs);
}
diff --git a/clang/include/clang/AST/OpenACCClause.h b/clang/include/clang/AST/OpenACCClause.h
index 0b4226d5c0c24..f98e398832a2a 100644
--- a/clang/include/clang/AST/OpenACCClause.h
+++ b/clang/include/clang/AST/OpenACCClause.h
@@ -455,11 +455,6 @@ class OpenACCSelfClause final
return getExprs()[0];
}
- ArrayRef<Expr *> getVarList() {
- assert(!HasConditionExpr.has_value() &&
- "Condition Expr self clause asked about var list");
- return getExprs();
- }
ArrayRef<Expr *> getVarList() const {
assert(!HasConditionExpr.has_value() &&
"Condition Expr self clause asked about var list");
@@ -559,9 +554,6 @@ class OpenACCWaitClause final
SourceLocation getQueuesLoc() const { return QueuesLoc; }
bool hasDevNumExpr() const { return getExprs()[0]; }
Expr *getDevNumExpr() const { return getExprs()[0]; }
- ArrayRef<Expr *> getQueueIdExprs() {
- return OpenACCClauseWithExprs::getExprs().drop_front();
- }
ArrayRef<Expr *> getQueueIdExprs() const {
return OpenACCClauseWithExprs::getExprs().drop_front();
}
@@ -590,8 +582,6 @@ class OpenACCNumGangsClause final
Create(const ASTContext &C, SourceLocation BeginLoc, SourceLocation LParenLoc,
ArrayRef<Expr *> IntExprs, SourceLocation EndLoc);
- ArrayRef<Expr *> getIntExprs() { return OpenACCClauseWithExprs::getExprs(); }
-
ArrayRef<Expr *> getIntExprs() const {
return OpenACCClauseWithExprs::getExprs();
}
@@ -616,7 +606,6 @@ class OpenACCTileClause final
SourceLocation LParenLoc,
ArrayRef<Expr *> SizeExprs,
SourceLocation EndLoc);
- ArrayRef<Expr *> getSizeExprs() { return OpenACCClauseWithExprs::getExprs(); }
ArrayRef<Expr *> getSizeExprs() const {
return OpenACCClauseWithExprs::getExprs();
@@ -827,7 +816,6 @@ class OpenACCClauseWithVarList : public OpenACCClauseWithExprs {
public:
static bool classof(const OpenACCClause *C);
- ArrayRef<Expr *> getVarList() { return getExprs(); }
ArrayRef<Expr *> getVarList() const { return getExprs(); }
};
@@ -870,11 +858,6 @@ class OpenACCPrivateClause final
}
// Gets a list of 'made up' `VarDecl` objects that can be used by codegen to
// ensure that we properly initialize each of these variables.
- ArrayRef<OpenACCPrivateRecipe> getInitRecipes() {
- return ArrayRef<OpenACCPrivateRecipe>{
- getTrailingObjects<OpenACCPrivateRecipe>(), getExprs().size()};
- }
-
ArrayRef<OpenACCPrivateRecipe> getInitRecipes() const {
return ArrayRef<OpenACCPrivateRecipe>{
getTrailingObjects<OpenACCPrivateRecipe>(), getExprs().size()};
@@ -933,11 +916,6 @@ class OpenACCFirstPrivateClause final
// Gets a list of 'made up' `VarDecl` objects that can be used by codegen to
// ensure that we properly initialize each of these variables.
- ArrayRef<OpenACCFirstPrivateRecipe> getInitRecipes() {
- return ArrayRef<OpenACCFirstPrivateRecipe>{
- getTrailingObjects<OpenACCFirstPrivateRecipe>(), getExprs().size()};
- }
-
ArrayRef<OpenACCFirstPrivateRecipe> getInitRecipes() const {
return ArrayRef<OpenACCFirstPrivateRecipe>{
getTrailingObjects<OpenACCFirstPrivateRecipe>(), getExprs().size()};
@@ -1366,11 +1344,6 @@ class OpenACCReductionClause final
return C->getClauseKind() == OpenACCClauseKind::Reduction;
}
- ArrayRef<OpenACCReductionRecipe> getRecipes() {
- return ArrayRef<OpenACCReductionRecipe>{
- getTrailingObjects<OpenACCReductionRecipe>(), getExprs().size()};
- }
-
ArrayRef<OpenACCReductionRecipe> getRecipes() const {
return ArrayRef<OpenACCReductionRecipe>{
getTrailingObjects<OpenACCReductionRecipe>(), getExprs().size()};
diff --git a/clang/include/clang/AST/StmtOpenACC.h b/clang/include/clang/AST/StmtOpenACC.h
index 2bd0b52071697..d8c2a1d693e07 100644
--- a/clang/include/clang/AST/StmtOpenACC.h
+++ b/clang/include/clang/AST/StmtOpenACC.h
@@ -515,8 +515,6 @@ class OpenACCWaitConstruct final
ArrayRef<Expr *> getExprs() const { return {getExprPtr(), NumExprs}; }
- ArrayRef<Expr *> getExprs() { return {getExprPtr(), NumExprs}; }
-
public:
static bool classof(const Stmt *T) {
return T->getStmtClass() == OpenACCWaitConstructClass;
@@ -538,7 +536,6 @@ class OpenACCWaitConstruct final
bool hasDevNumExpr() const { return getExprs()[0]; }
Expr *getDevNumExpr() const { return getExprs()[0]; }
- ArrayRef<Expr *> getQueueIdExprs() { return getExprs().drop_front(); }
ArrayRef<Expr *> getQueueIdExprs() const { return getExprs().drop_front(); }
child_range children() {
More information about the cfe-commits
mailing list