https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78618
--- Comment #20 from janus at gcc dot gnu.org --- Possibly the origin of the problem lies in the fact that the symbol '__convert_s4_s1' gets a constant ts.u.cl of '1' after all? IIUC __convert_s4_s1 is used to convert character strings of any length. So any expression involving this function can have a constant charlen (which equals to the charlen of the function argument). But the function symbol itself does not have a particular charlen associated with it, since it can be applied to different arguments, right? So I guess one should find out where the symbol '__convert_s4_s1' obtains its charlen and prevent that from happening ...