<div dir="ltr">Clang doesn't have a notion of any C++ ABI version. We make bugfixes all the time and mostly just pray it only affects non-extern template instantiations. =/<div><br></div><div>We can certainly wire up -fabi-version to control the __GXX_ABI_VERSION macro if you like, and then it will pass the compatibility test. At the end of the day, though, the only way to ensure that any version of clang and gcc are ABI compatible is to test it.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 18, 2015 at 11:43 PM, Nathan Ridge <span dir="ltr"><<a href="mailto:zeratul976@hotmail.com" target="_blank">zeratul976@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
GCC defines a macro __GXX_ABI_VERSION which, as was recently explained to me [1],<br>
is governed by the flag -fabi-version [2].<br>
<br>
The latest version of GCC defines the macro (without an explicit -fabi-version flag) as<br>
1008, which corresponds to what is described as "Version 8" on that page.<br>
<br>
Clang defines the macro as 1002, and does not seem to support the -fabi-version<br>
option (tested with clang 3.6).<br>
<br>
Does this mean that clang currently implements the "Version 2" ABI described on<br>
that page? If so, are there plans to implement the later versions?<br>
<br>
I ask because some libraries, such as wxWidgets, check this macro to ensure that<br>
a build of the library and an application using the library are ABI-compatible, and<br>
right now that mechanism deems the latest versions of gcc and clang incompatible.<br>
<br>
Thanks,<br>
Nate<br>
<br>
[1] <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__gcc.gnu.org_ml_gcc-2Dhelp_2015-2D06_msg00090.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=AzQA8jIKt3SKR9yCVRLVLUuBLYVhBwZLr9AsYgsIFFo&s=9gq_6awrQhAle8n6sk50NValyYybSRBfPea8fRaNKQs&e=" rel="noreferrer" target="_blank">https://gcc.gnu.org/ml/gcc-help/2015-06/msg00090.html</a><br>
[2] <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__gcc.gnu.org_onlinedocs_gcc_C-5F002b-5F002b-2DDialect-2DOptions.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=AzQA8jIKt3SKR9yCVRLVLUuBLYVhBwZLr9AsYgsIFFo&s=A4-68Vom1LuL_RcOxirN0KEMtYVSZ9_sDz_joiqZFQ8&e=" rel="noreferrer" target="_blank">https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html</a><br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>