https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68838 --- Comment #4 from David Edelsohn <dje at gcc dot gnu.org> --- On 32 bit AIX, wchar is 16 bits, two bytes. The libstdc++ code prepends 33554432 of fill, which is exactly 2*16777216 or 2^24 2 byte characters. Why is 2^24 special?