https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110360
David Edelsohn <dje at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tkoenig at gcc dot gnu.org --- Comment #38 from David Edelsohn <dje at gcc dot gnu.org> --- As mentioned by Mikael in PR110419, GFORTRAN calling convention has a hole. The problem on PowerPC Big Endian is that sometimes GFORTRAN passes a character as a character and sometimes it passes a character as a STRING of length 1 passed by value. On Little Endian systems, the single value happens to end up in the same location in the register. On Big Endian systems, the values are at opposite ends of the register. Or to put it another way, the GFORTRAN internal "type" of CHARACTER as represented by/to GCC type system is inconsistent. GFORTRAN is breaking the GCC type system, which causes the parameter to be represented differently in the register.