From: Iain Buclaw Date: Mon, 26 Jul 2021 17:22:48 +0000 (+0200) Subject: d: Clarify comment for generating static array assignment with literal. X-Git-Tag: basepoints/gcc-13~5693 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c18db639a31b9d651b3b997fee331106b25789ef;p=thirdparty%2Fgcc.git d: Clarify comment for generating static array assignment with literal. The code block is done as an optimization to elide a call to the runtime library helpers _d_arrayctor or _d_arrayassign. gcc/d/ChangeLog: * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment for generating static array assignment with literal. --- diff --git a/gcc/d/expr.cc b/gcc/d/expr.cc index 85269c6b2bec..76c1e613e77f 100644 --- a/gcc/d/expr.cc +++ b/gcc/d/expr.cc @@ -1163,9 +1163,9 @@ public: bool destructor = needs_dtor (etype); bool lvalue = lvalue_p (e->e2); - /* Even if the elements in rhs are all rvalues and don't have - to call postblits, this assignment should call dtors on old - assigned elements. */ + /* Optimize static array assignment with array literal. Even if the + elements in rhs are all rvalues and don't have to call postblits, + this assignment should call dtors on old assigned elements. */ if ((!postblit && !destructor) || (e->op == TOKconstruct && e->e2->op == TOKarrayliteral) || (e->op == TOKconstruct && !lvalue && postblit)