https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98921
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by Iain Buclaw <ibuc...@gcc.gnu.org>: https://gcc.gnu.org/g:13ec4505c04c6cadfc22ec1b23fd6edf745ca183 commit r9-9216-g13ec4505c04c6cadfc22ec1b23fd6edf745ca183 Author: Iain Buclaw <ibuc...@gdcproject.org> Date: Tue Feb 2 00:52:49 2021 +0100 d: Fix junk in generated symbol on powerpc64-*-* [PR98921] This adds a special formatter to OutBuffer to handle formatted printing of integers, a common case. The replacement is faster and safer. In dmangle.c, it also gets rid of a number of problematic casts, as seen on powerpc64 targets. gcc/d/ChangeLog: PR d/98921 * dmd/dmangle.c (Mangler::visit (TypeSArray *)): Use buf->print to format integer value. (Mangler::visit (TypeIdentifier *)): Likewise. (Mangler::toBuffer): Likewise. (Mangler::visit (IntegerExp *)): Likewise. (Mangler::visit (StringExp *)): Likewise. (Mangler::visit (ArrayLiteralExp *)): Likewise. (Mangler::visit (AssocArrayLiteralExp *)): Likewise. (Mangler::visit (StructLiteralExp *)): Likewise. * dmd/root/outbuffer.c (OutBuffer::print): New function. * dmd/root/outbuffer.h (OutBuffer::print): Declare. (cherry picked from commit 6a481021a65d6237b0c509a76fcd9c1f32c4558e)