https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123847
--- Comment #2 from Mohammad-Reza Nabipoor <mnabipoor at gnu dot org> --- Further investigation showed that it has nothing to do with module initialization. This is a simpler reproducer (particular program): ( string s; string t = (s /= "" | "") + ""; skip ) It's the else part of `(s /= "" | "")' which is generating a null string, instead of an empty string.
