From: Ulrich Drepper Date: Sun, 19 Aug 2001 03:52:42 +0000 (+0000) Subject: Update. X-Git-Tag: cvs/glibc-2-2-5~425 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=091b895531aabba1adc36ac6b68dd91ba52a0945;p=thirdparty%2Fglibc.git Update. * sysdeps/generic/strtol.c: Little optimizations. Add some __builtin_expect. --- diff --git a/ChangeLog b/ChangeLog index ff4605adbc9..c8d5e9aa94e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2001-08-18 Ulrich Drepper + * sysdeps/generic/strtol.c: Little optimizations. Add some + __builtin_expect. + * conform/conformtest.pl: test required . * wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t. diff --git a/sysdeps/generic/strtol.c b/sysdeps/generic/strtol.c index 0f48b632eb2..d2e09c84046 100644 --- a/sysdeps/generic/strtol.c +++ b/sysdeps/generic/strtol.c @@ -263,7 +263,7 @@ INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) in the format described in . */ const char *grouping; - if (group) + if (__builtin_expect (group, 0)) { grouping = _NL_CURRENT (LC_NUMERIC, GROUPING); if (*grouping <= 0 || *grouping == CHAR_MAX) @@ -305,22 +305,18 @@ INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) /* Skip white space. */ while (ISSPACE (*s)) ++s; - if (*s == L_('\0')) + if (__builtin_expect (*s == L_('\0'), 0)) goto noconv; /* Check for a sign. */ + negative = 0; if (*s == L_('-')) { negative = 1; ++s; } else if (*s == L_('+')) - { - negative = 0; - ++s; - } - else - negative = 0; + ++s; /* Recognize number prefix and if BASE is zero, figure it out ourselves. */ if (*s == L_('0')) @@ -343,7 +339,7 @@ INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) if (base != 10) grouping = NULL; - if (grouping) + if (__builtin_expect (grouping != NULL, 0)) { # ifndef USE_WIDE_CHAR thousands_len = strlen (thousands); @@ -506,7 +502,7 @@ INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM) overflow = 1; #endif - if (overflow) + if (__builtin_expect (overflow, 0)) { __set_errno (ERANGE); #if UNSIGNED