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

Christian Convey christian.convey at gmail.com
Mon May 11 11:52:25 PDT 2015


Thanks David.  So it sounds like you're saying that all the previously
messy stuff like vtable layouts, exception handling, etc. are non-issues
for current versions of those three compilers.  Is that right?

On Mon, May 11, 2015 at 2:48 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> 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/a2ead688/attachment.html>


More information about the cfe-dev mailing list