[cfe-dev] clang, g++, icc link compatibity?

David Blaikie dblaikie at gmail.com
Mon May 11 11:48:36 PDT 2015


On Mon, May 11, 2015 at 11:31 AM, Christian Convey <
christian.convey at gmail.com> wrote:

> (Sorry if this is documented somewhere, but I couldn't find it.)
>
> Does anyone know what limitations currently exist when linking together
> C++ object produced by clang with those produced by c++ and/or Intel's icc?
>
> My impression back in the day was that incompatible ABI's made it unsafe
> to link together C++ object code from different compiler vendors/versions.
> Not just with name mangling, but also with exceptions and perhaps other
> issues.   I'm not only asking about linking to C++ standard libraries, but
> also situations like:
>
> clang++ -c foo.cpp
> g++ -c bar.cpp
> clang++ a.o b.o
>
> Experimentally it seems to work okay, but I wasn't sure if that tells the
> whole story.
>

All these compilers attempt to implement the Itanium ABI. There's a common
working group that attempts to keep this ABI evolving as new language
features are added that have ABI surface area so that this continues to be
true.

(basically: yes, this is meant to work. When it doesn't it's likely a bug
in one of the compilers and/or the Itanium ABI spec)


>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150511/2354765e/attachment.html>


More information about the cfe-dev mailing list