<div dir="ltr"><div dir="ltr">Em ter., 29 de nov. de 2022 às 10:26, Samuel Audet <<a href="mailto:samuel.audet@gmail.com">samuel.audet@gmail.com</a>> escreveu:<br></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
My guess is when compatibility gets close enough to 100%, Microsoft will <br>
start deprecating their cl.exe tool and transition fully to clang-cl. At <br>
that point, I don't see many C++ compilers choosing to remain <br>
incompatible with Clang and LLVM. It's going to be just like OpenJDK: <br>
There are still some Java implementations that are not compatible with <br>
OpenJDK, but they are rather hard to find and don't have a great impact <br>
on the community.<br></blockquote><div><br></div><div>In the context of calling conventions, there is really no moving target. </div><div>Microsoft''s runtime ABI for Windows and the "Itanium C++ ABI" for everybody else are very stable.</div><div>It is important to not mix the compatibility risk of the "runtime ABI" (where things like calling conventions are defined) and the "library ABI" (where things like std::string are defined).</div><div>Also, there are basically only these two.</div><div>Implementing this over Panama would be a respectable project, but it is not the monster it may seem to be.</div><div>If one would implement the "Itanium C++ ABI", one would support a *lot* of real world applications.</div><div>Reference: <a href="https://itanium-cxx-abi.github.io/cxx-abi/abi.html">https://itanium-cxx-abi.github.io/cxx-abi/abi.html</a></div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Pedro Lamarão</div></div></div></div>