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