You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/01/06 19:58:34 UTC
[jira] Commented: (STDCXX-687) [gcc] use string __builtins
[ https://issues.apache.org/jira/browse/STDCXX-687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556409#action_12556409 ]
Martin Sebor commented on STDCXX-687:
-------------------------------------
__builtin_memchr was added here: http://gcc.gnu.org/viewcvs?view=rev&revision=124617
It can be expected to be included in gcc 4.3.
> [gcc] use string __builtins
> ---------------------------
>
> Key: STDCXX-687
> URL: https://issues.apache.org/jira/browse/STDCXX-687
> Project: C++ Standard Library
> Issue Type: Sub-task
> Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0
> Reporter: Martin Sebor
> Fix For: 4.2.1
>
>
> The following gcc builtin equivalents of the C string functions would be useful in the implementation of std::char_traits:
> __builtin_memcpy: char_traits::copy()
> __builtin_memcmp: char_traits::compare()
> __builtin_memmove: char_traits::move()
> __builtin_memset: char_traits::assign()
> __builtin_strlen: char_traits::length()
> Unfortunately, as of gcc 4.2.2, there is no builtin equivalent of memchr() which is used in char_traits::find(), so using the builtins won't let us get away from #including the <cstring> header to bring in the declaration of the function (thus reducing namespace pollution caused by all the other symbols declared in the header).
> There also are no builtins for the wide character counterparts of any of these functions (such as wmemcmp or wcslen).
> See the following page for more details:
> http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Other-Builtins.html#Other-Builtins
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.