<div dir="auto">I think it makes sense to have semi-standard macros for this, and while these aren't standard features I think SD-6 could be an OK home for them. <div dir="auto"><br></div><div dir="auto">Do you anticipate needing any way to detect abi variants (eg, ARM ABI is itanium with tweaks)?</div><div dir="auto"><br></div><div dir="auto">I think some kind of version could be useful for both macros, but that could be added later.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 Jan 2017 5:45 pm, "Saleem Abdulrasool" <<a href="mailto:compnerd@compnerd.org">compnerd@compnerd.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span style="color:rgb(49,49,49);word-spacing:1px;background-color:rgb(255,255,255)">Hi,</span><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px"><br class="m_-3719274509290701854gmail_msg"></div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">I was wondering if it would be possible to add a macro to identify the underlying ABI that the C++ runtime is using? Although itanium is the more popular choice, there are alternative ABIs such as the one which Microsoft uses. I would propose something like the following:</div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px"><br class="m_-3719274509290701854gmail_msg"></div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">__cpp_abi_itanium</div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">__cpp_abi_microsoft</div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px"><br class="m_-3719274509290701854gmail_msg"></div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">They would be defined to 1 based on which is being used. This would allow the implementation to change the behavior based on the ABI being used.</div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px"><br class="m_-3719274509290701854gmail_msg"></div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">Thanks!</div><font color="#888888"><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px"><br></div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">-- </div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">Saleem Abdulrasool</div><div class="m_-3719274509290701854gmail_msg" style="color:rgb(49,49,49);word-spacing:1px">compnerd (at) compnerd (dot) org</div>
</font><br>______________________________<wbr>_________________<br>
Features mailing list<br>
<a href="mailto:Features@isocpp.open-std.org">Features@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/features" rel="noreferrer" target="_blank">http://www.open-std.org/<wbr>mailman/listinfo/features</a><br>
<br></blockquote></div><br></div>