https://github.com/GS-GOAT updated https://github.com/llvm/llvm-project/pull/127211
>From fe6e13312278f807685210dff746229949d84270 Mon Sep 17 00:00:00 2001 From: GS-GOAT <86884129+gs-g...@users.noreply.github.com> Date: Sat, 15 Feb 2025 11:08:47 +0530 Subject: [PATCH] Fixing the logic issue in TransformTypos::TransformDesignatedInitExpr llvm#126113 -Transforming Indices: For array designators, transform the index expression and update ExprChanged if it's modified. -Correct Initializer Check: Compare the transformed initializer against the original to accurately track changes. -Single Initializer Transformation: The initializer is processed once, not per designator, as each DesignatedInitExpr has one initializer. Fixes llvm#126113 --- clang/lib/Sema/TreeTransform.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index fc1e3f7d58f4d..c2bbe51676e39 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -13670,9 +13670,9 @@ TreeTransform<Derived>::TransformDesignatedInitExpr(DesignatedInitExpr *E) { return ExprError(); Desig.AddDesignator( - Designator::CreateArrayDesignator(Index.get(), D.getLBracketLoc())); + Designator::CreateArrayDesignator(Index.get(), D.getLBracketLoc())); - ExprChanged = ExprChanged || Init.get() != E->getArrayIndex(D); + ExprChanged = ExprChanged || Index.get() != E->getArrayIndex(D); ArrayExprs.push_back(Index.get()); continue; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits