[ 
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.

Reply via email to