[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)
Younan Zhang via cfe-commits
cfe-commits at lists.llvm.org
Mon May 5 07:14:56 PDT 2025
================
@@ -16487,12 +16501,22 @@ ExprResult
TreeTransform<Derived>::TransformCXXParenListInitExpr(CXXParenListInitExpr *E) {
SmallVector<Expr *, 4> TransformedInits;
ArrayRef<Expr *> InitExprs = E->getInitExprs();
- if (TransformExprs(InitExprs.data(), InitExprs.size(), true,
- TransformedInits))
+
+ QualType T = getDerived().TransformType(E->getType());
+
+ bool ArgChanged = false;
+ ;
+
+ if (getDerived().TransformExprs(InitExprs.data(), InitExprs.size(), true,
+ TransformedInits, &ArgChanged))
return ExprError();
- return getDerived().RebuildParenListExpr(E->getBeginLoc(), TransformedInits,
- E->getEndLoc());
+ if (!ArgChanged && T == E->getType())
+ return E;
----------------
zyn0217 wrote:
Do we want to handle AlwaysRebuild?
https://github.com/llvm/llvm-project/pull/138518
More information about the cfe-commits
mailing list