[cfe-dev] Question about consistency of mangled link names
richard at metafoo.co.uk
Sat Nov 29 12:47:14 PST 2014
On 29 Nov 2014 09:35, "David Blaikie" <dblaikie at gmail.com> wrote:
> On Sat, Nov 29, 2014 at 8:08 AM, Rodney M. Bates <rodney_bates at lcwb.coop>
>> I am working on a project that entails writing calls in Modula3 code to C
>> and C++ code in the llvm infrastructure. For C, things are fine. For
>> they are working, but I am having to put the mangled linker name in my
>> My questions are
>> 1) Does the mangled linker name of a C++ nonmember function depend only
>> function signature?
> Yes (mangling is there to support overloading and namespaces - since the
underlying symbol system doesn't support either, mangling is the task of
putting all the unique data about a function into the (mangled) name)
>> 2) Do gcc and clang both mangle the same?
> Yes - this is necessary for C++ libraries compiled with Clang to link
successfully with C++ libraries compiled with GCC.
The mangling scheme used for most platforms (used by all gcc-supported
platforms IIUC, but notably not used by MSVC) is documented here:
> (modulo bugs, edge cases, etc)
>> If not, then I will probably need to do more work to produce C bindings
>> similar to those in llvm-c/Core.h
>> Rodney Bates
>> rodney.m.bates at acm.org
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev