<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">Hi,</div><div class=""><br class=""></div><div class="">In <font face="Monaco" class="">src/iostream.cpp</font>, I can find the following beautiful declarations:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class="">    _ALIGNAS_TYPE (istream) _LIBCPP_FUNC_VIS char cin[sizeof(istream)]</font></div><div class=""><font face="Monaco" class="">    #if defined(_LIBCPP_ABI_MICROSOFT) && defined(__clang__)</font></div><div class=""><font face="Monaco" class="">    __asm__("?cin@" _LIBCPP_ABI_NAMESPACE_STR "@std@@3V?$basic_istream@DU?$char_traits@D@" _LIBCPP_ABI_NAMESPACE_STR "@std@@@12@A")</font></div><div class=""><font face="Monaco" class="">    #endif</font></div><div class=""><font face="Monaco" class="">    ;</font></div><div class=""><font face="Monaco" class=""><br class=""></font></div><div class=""><font face="Monaco" class="">    // etc...</font></div><div class=""><br class=""></div><div class="">And then we have this a little lower in <font face="Monaco" class="">src/iostream.cpp</font>:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class="">    _LIBCPP_HIDDEN ios_base::Init __start_std_streams;</font></div><div class=""><font face="Monaco" class="">    ios_base::Init::Init() {</font></div><div class=""><font face="Monaco" class="">        istream* cin_ptr  = ::new(cin)  istream(::new(__cin)  __stdinbuf <char>(stdin, &mb_cin));</font></div><div class=""><font face="Monaco" class="">        // ...</font></div><div class=""><font face="Monaco" class="">    }</font></div><div class=""><br class=""></div><div class="">I understand we're basically allocating a char array and then placement newing the stream into it during static initialization. However, why is that dance necessary with Clang-on-Windows?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Louis</div></div><div class=""><br class=""></div></body></html>