[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.2.0, 4.1.4, 4.1.3, 4.1.2
            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