<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 14, 2016 at 8:47 PM, Sean McBride <span dir="ltr"><<a href="mailto:sean@rogue-research.com" target="_blank">sean@rogue-research.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Thu, 10 Nov 2016 14:11:59 -0500, Marcus D. Hanwell said:<br>
<br>
>I would be interested in further details on which case or cases are<br>
>causing dynamic_cast to fail, and why using consistent symbol<br>
>visibility in the interfaces is not feasible/possible.<br>
<br>
</span>I'm not really following this issue, but...<br>
<br>
Is this really a Mac OS X issue, or is it being conflated with clang? That is, does the issue happen with clang on linux for example? Is it only Apple's fork or clang, or the open source one too? Does it happen with gcc on Mac OS X? etc.<br></blockquote><div><br></div><div>The compiler ABI rules and behavior have not changed. What has changed is that OS X linker fallbacks have been removed [1], and Slicer (and perhaps ITK itself by default, I haven't spelunked the log) have set the default symbol visibility to hidden, which means that (now-hidden) type_info symbols are not coalesced across compilation unit boundaries.</div><div><br></div><div>I would recommend this summary of the issue from a libreoffice commit message [2], as well as the summary linked in a previous message [3]. Recent libstdc++ have reinstated a strcmp fallback [4], so the issue is unlikely to be encountered on most Linux distributions.</div><div><br></div><div><br></div><div>[1] On OS X, my understanding is that libc++ (cxxabi) was compiled with "_LIBCXX_DYNAMIC_FALLBACK" until OS X 10.11, which causes a fallback to strcmp comparison of the type_info name (10.11 still contains a program name-based fallback for two Adobe products that Apple could not reasonably break). </div><div>[2] <a href="https://lists.freedesktop.org/archives/libreoffice-commits/2015-January/091572.html">https://lists.freedesktop.org/archives/libreoffice-commits/2015-January/091572.html</a><br></div><div>[3] <a href="http://www.russellmcc.com/posts/2013-08-03-rtti.html">http://www.russellmcc.com/posts/2013-08-03-rtti.html</a></div><div>[4] <a href="https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01239.html">https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01239.html</a></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Cheers,<br>
<span class="gmail-HOEnZb"><font color="#888888"><br>
--<br>
______________________________<wbr>______________________________<br>
Sean McBride, B. Eng <a href="mailto:sean@rogue-research.com">sean@rogue-research.com</a><br>
Rogue Research <a href="http://www.rogue-research.com" rel="noreferrer" target="_blank">www.rogue-research.com</a><br>
Mac Software Developer Montréal, Québec, Canada<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://kitware.com/products/<wbr>protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_<wbr>FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-developers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/insight-<wbr>developers</a><br>
</div></div></blockquote></div><br></div></div>