summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-11 18:58:08 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-11 18:58:08 +0000
commitc75998259b237abe9fce03ad23bf3ee0197b363a (patch)
treee42cbc75bd6a7bf2b85115f2a9d27c274708b47f /libstdc++-v3/include
parente6fa0ea601965ab7a19c55ca870bdb2cdebaf324 (diff)
downloadgcc-c75998259b237abe9fce03ad23bf3ee0197b363a.tar.gz
2007-05-11 Paolo Carlini <pcarlini@suse.de>
* include/ext/pod_char_traits.h (char_traits<>::move): Use __builtin_memmove. * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name, collate_byname(const char*, size_t)): Use __builtin_strcmp. * include/bits/locale_facets.h: Use __builtin_mem* and __builtin_str* everywhere. * include/bits/codecvt.h (codecvt_byname(const char*, size_t)): Use __builtin_strcmp. * include/bits/char_traits.h: Use __builtin_mem* everywhere. * include/bits/fstream.tcc (basic_filebuf<>::underflow, imbue): Use __builtin_memcpy and __builtin_memmove. * include/bits/locale_facets_nonio.h (moneypunct_byname(const char*, size_t __refs)): Use __builtin_strcmp. * include/std/bitset (bitset<>::_M_do_reset): Use __builtin_memset. * config/locale/gnu/c_locale.h: Use __builtin_strlen, __builtin_strcmp, and __builtin_memcpy. * config/locale/gnu/messages_members.h: Likewise. * config/locale/gnu/time_members.h: Likewise. * config/locale/generic/c_locale.h: Likewise. * config/locale/generic/messages_members.h: Likewise. * config/locale/generic/time_members.h: Likewise. * config/os/gnu-linux/ctype_noninline.h: Likewise, avoid strdup. * config/os/tpf/ctype_noninline.h: Likewise. * config/locale/generic/codecvt_members.cc: Include <cstring>. * config/locale/generic/ctype_members.cc: Likewise. * config/locale/generic/collate_members.cc: Likewise. * config/locale/gnu/c++locale_internal.h: Likewise. * config/locale/darwin/ctype_members.cc: Likewise. * src/ctype.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise. * config/locale/gnu/messages_members.cc: Avoid strdup. * config/locale/gnu/monetary_members.cc: Likewise. * config/locale/gnu/time_members.cc: Likewise. * config/locale/gnu/time_members.cc: Likewise. * config/locale/generic/c_locale.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124623 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r--libstdc++-v3/include/bits/char_traits.h17
-rw-r--r--libstdc++-v3/include/bits/codecvt.h3
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc6
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h6
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h15
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.h3
-rw-r--r--libstdc++-v3/include/ext/pod_char_traits.h4
-rw-r--r--libstdc++-v3/include/std/bitset3
8 files changed, 29 insertions, 28 deletions
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 03d744c643a..a4b4e3a0d64 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -43,7 +43,6 @@
#pragma GCC system_header
-#include <cstring> // For memmove, memset, memchr
#include <bits/stl_algobase.h> // For copy, fill_n
#include <bits/postypes.h> // For streampos
#include <cstdio> // For EOF
@@ -186,8 +185,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
char_traits<_CharT>::
move(char_type* __s1, const char_type* __s2, std::size_t __n)
{
- return static_cast<_CharT*>(std::memmove(__s1, __s2,
- __n * sizeof(char_type)));
+ return static_cast<_CharT*>(__builtin_memmove(__s1, __s2,
+ __n * sizeof(char_type)));
}
template<typename _CharT>
@@ -254,27 +253,27 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
- { return memcmp(__s1, __s2, __n); }
+ { return __builtin_memcmp(__s1, __s2, __n); }
static size_t
length(const char_type* __s)
- { return strlen(__s); }
+ { return __builtin_strlen(__s); }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
- { return static_cast<const char_type*>(memchr(__s, __a, __n)); }
+ { return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); }
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
- { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
+ { return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
- { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
+ { return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
- { return static_cast<char_type*>(memset(__s, __a, __n)); }
+ { return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); }
static char_type
to_char_type(const int_type& __c)
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index 930c798331a..d8d33070ff7 100644
--- a/libstdc++-v3/include/bits/codecvt.h
+++ b/libstdc++-v3/include/bits/codecvt.h
@@ -457,7 +457,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
codecvt_byname(const char* __s, size_t __refs = 0)
: codecvt<_InternT, _ExternT, _StateT>(__refs)
{
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ if (__builtin_strcmp(__s, "C") != 0
+ && __builtin_strcmp(__s, "POSIX") != 0)
{
this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index 2653d6f6570..28dde161490 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -263,14 +263,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
char* __buf = new char[__blen];
if (__remainder)
- std::memcpy(__buf, _M_ext_next, __remainder);
+ __builtin_memcpy(__buf, _M_ext_next, __remainder);
delete [] _M_ext_buf;
_M_ext_buf = __buf;
_M_ext_buf_size = __blen;
}
else if (__remainder)
- std::memmove(_M_ext_buf, _M_ext_next, __remainder);
+ __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder);
_M_ext_next = _M_ext_buf;
_M_ext_end = _M_ext_buf + __remainder;
@@ -888,7 +888,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
this->gptr() - this->eback());
const streamsize __remainder = _M_ext_end - _M_ext_next;
if (__remainder)
- std::memmove(_M_ext_buf, _M_ext_next, __remainder);
+ __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder);
_M_ext_next = _M_ext_buf;
_M_ext_end = _M_ext_buf + __remainder;
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index 5e6a8105d8b..60de2695677 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -44,7 +44,6 @@
#pragma GCC system_header
#include <bits/localefwd.h>
-#include <cstring> // For strcmp.
#include <string>
#include <ext/atomicity.h>
@@ -537,7 +536,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
if (_M_names[1])
// We must actually compare all the _M_names: can be all equal!
for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
- __ret = std::strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
+ __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
return __ret;
}
@@ -810,7 +809,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
collate_byname(const char* __s, size_t __refs = 0)
: collate<_CharT>(__refs)
{
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ if (__builtin_strcmp(__s, "C") != 0
+ && __builtin_strcmp(__s, "POSIX") != 0)
{
this->_S_destroy_c_locale(this->_M_c_locale_collate);
this->_S_create_c_locale(this->_M_c_locale_collate, __s);
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index 42865a69c37..7a89927fadd 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -899,7 +899,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
if (_M_widen_ok == 1)
{
- memcpy(__to, __lo, __hi - __lo);
+ __builtin_memcpy(__to, __lo, __hi - __lo);
return __hi;
}
if (!_M_widen_ok)
@@ -964,7 +964,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
if (__builtin_expect(_M_narrow_ok == 1, true))
{
- memcpy(__to, __lo, __hi - __lo);
+ __builtin_memcpy(__to, __lo, __hi - __lo);
return __hi;
}
if (!_M_narrow_ok)
@@ -1101,7 +1101,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
virtual const char*
do_widen(const char* __lo, const char* __hi, char_type* __dest) const
{
- memcpy(__dest, __lo, __hi - __lo);
+ __builtin_memcpy(__dest, __lo, __hi - __lo);
return __hi;
}
@@ -1154,7 +1154,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
do_narrow(const char_type* __lo, const char_type* __hi,
char, char* __dest) const
{
- memcpy(__dest, __lo, __hi - __lo);
+ __builtin_memcpy(__dest, __lo, __hi - __lo);
return __hi;
}
@@ -1169,7 +1169,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_widen_ok = 1;
// Set _M_widen_ok to 2 if memcpy can't be used.
- if (memcmp(__tmp, _M_widen, sizeof(_M_widen)))
+ if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen)))
_M_widen_ok = 2;
}
@@ -1184,7 +1184,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
_M_narrow_ok = 1;
- if (memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
+ if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
_M_narrow_ok = 2;
else
{
@@ -1922,7 +1922,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
numpunct_byname(const char* __s, size_t __refs = 0)
: numpunct<_CharT>(__refs)
{
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ if (__builtin_strcmp(__s, "C") != 0
+ && __builtin_strcmp(__s, "POSIX") != 0)
{
__c_locale __tmp;
this->_S_create_c_locale(__tmp, __s);
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h
index 15de0834fbe..31c90e3b43c 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.h
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.h
@@ -1320,7 +1320,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
moneypunct_byname(const char* __s, size_t __refs = 0)
: moneypunct<_CharT, _Intl>(__refs)
{
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ if (__builtin_strcmp(__s, "C") != 0
+ && __builtin_strcmp(__s, "POSIX") != 0)
{
__c_locale __tmp;
this->_S_create_c_locale(__tmp, __s);
diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h
index ab3d99e12ef..64bd7df4b59 100644
--- a/libstdc++-v3/include/ext/pod_char_traits.h
+++ b/libstdc++-v3/include/ext/pod_char_traits.h
@@ -140,8 +140,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{
- return static_cast<char_type*>(std::memmove(__s1, __s2,
- __n * sizeof(char_type)));
+ return static_cast<char_type*>
+ (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)));
}
static char_type*
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 61cad289b55..9ead05915dc 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -51,7 +51,6 @@
#pragma GCC system_header
#include <cstddef> // For size_t
-#include <cstring> // For memset
#include <string>
#include <bits/functexcept.h> // For invalid_argument, out_of_range,
// overflow_error
@@ -165,7 +164,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
void
_M_do_reset()
- { std::memset(_M_w, 0, _Nw * sizeof(_WordT)); }
+ { __builtin_memset(_M_w, 0, _Nw * sizeof(_WordT)); }
bool
_M_is_equal(const _Base_bitset<_Nw>& __x) const