[cfe-dev] About the GCC and C++ ABI identification tokens

Richard Smith via cfe-dev cfe-dev at lists.llvm.org
Mon Apr 2 11:27:23 PDT 2018


As I recall, part of the reason we picked 4.2.1 is because glibc tries to
use some GCC features added after that (and not supported by Clang) if
Clang advertises itself as being a later version. I don't know off-hand
which features those might be, and it's entirely possible that we could
advertise a later version.

Perhaps someone could look through the GCC release notes to find what the
latest version we could reasonably claim to be compatible with is, and we
could try claiming to be that version and see what breaks.

On 23 March 2018 at 12:24, Kim Gräsman via cfe-dev <cfe-dev at lists.llvm.org>
wrote:

> At my previous employer we carried a local patch to convince Clang trunk
> to identify as GCC 4.6.1 to work around some overzealous build system
> compiler detection. It might be nice (or completely reckless) to give users
> a way to force the GCC version string.
>
> 4.2.1 does seem old as a default.
>
> - Kim
>
>
> Den tors 22 mars 2018 12:40René J.V. Bertin via cfe-dev <
> cfe-dev at lists.llvm.org> skrev:
>
>> Hi,
>>
>> I notice that Clang 5 still identifies itself as GCC 4.2.1, on Mac as on
>> Linux. Couldn't this be upgraded by now, especially when running with
>> -stdlib=libstdc++ where it might make sense to provide the same conditional
>> information to code being compiled as G++ would?
>>
>> An example, with wxWidgets 3.0 (built with clang 5.0) and Audacity 2.2.2
>> (built with GCC 7.2.0). This is on Linux, so clang will use the latest
>> libstdc++ (lib + headers) by default:
>>
>> %> audacity
>> 11:58:22: Warning: Mismatch between the program and library build
>> versions detected.
>> The library used 3.0 (wchar_t,compiler with C++ ABI 1002,wx
>> containers,compatible with 2.8),
>> and your program used 3.0 (wchar_t,compiler with C++ ABI 1010,wx
>> containers,compatible with 2.8).
>> (abort)
>>
>> In practice Audacity runs just fine when I patch my wxWidgets install to
>> turn that abort into a warning message.
>>
>> FWIW, the wxWidgets build doesn't specifically request C++11 while the
>> Audacity build does. Apologies if that explains the flagged ABI differences.
>>
>> R.
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180402/a2fb2ece/attachment.html>


More information about the cfe-dev mailing list