https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100261
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:fff482625ab184210d9121515b9ea98945dc0b6f commit r11-8434-gfff482625ab184210d9121515b9ea98945dc0b6f Author: Jason Merrill <ja...@redhat.com> Date: Tue May 18 17:15:42 2021 -0400 c++: ICE with bad definition of decimal32 [PR100261] The change to only look at the global binding for non-classes meant that here, when dealing with decimal32 which is magically mangled like its first non-static data member, we got a collision with the mangling for float. Fixed by also looking up an existing binding for such magical classes. PR c++/100261 gcc/cp/ChangeLog: * rtti.c (get_tinfo_decl_direct): Check TYPE_TRANSPARENT_AGGR. gcc/testsuite/ChangeLog: * g++.dg/dfp/mangle-6.C: New test.