Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.1.2, 4.1.3, 4.1.4, 4.2.0
-
None
Description
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
Attachments
Issue Links
- relates to
-
STDCXX-799 [Intel C++ 10.0/Linux] error in rw/_traits.h on __builtin_memmove
- Closed