https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98454
--- Comment #3 from anlauf at gcc dot gnu.org --- According to the tree-dump, adding a print *, res% unit to the function body invokes the implicit initializer, while the line res = t() actually invokes the initializer effectively twice!