https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44952
--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #5) > 27.4 [iostream.objects] paragraph 2 > The results of including <iostream> in a translation unit shall be as if > <iostream> defined an instance of ios_base::Init with static storage > duration. Similarly, the entire program shall behave as if there were at > least one instance of ios_base::Init with static storage duration. N.B. https://wg21.link/lwg2765 removed that last sentence, so we are no longer required to run the stream initialization in all programs. Only in programs which include <iostream> in at least one TU.