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

Nico Weber via cfe-dev cfe-dev at lists.llvm.org
Mon Apr 2 11:36:20 PDT 2018


Previous discussion:
http://clang-developers.42468.n3.nabble.com/RFC-Bump-up-clang-s-GNUC-MINOR-td3982225.html

On Mon, Apr 2, 2018 at 2:27 PM, Richard Smith via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> 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
>>
>>
>
> _______________________________________________
> 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/0c74afb0/attachment.html>


More information about the cfe-dev mailing list