mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03:00
Replace __builtin_expect(..., 0) with __glibc_unlikely().
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2013-03-06 Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||||
|
|
||||||
|
* stdio-common/vfprintf.c: Replace __builtin_expect with
|
||||||
|
__glibc_unlikely.
|
||||||
|
|
||||||
2013-03-06 Joseph Myers <joseph@codesourcery.com>
|
2013-03-06 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
[BZ #13550]
|
[BZ #13550]
|
||||||
|
@@ -67,7 +67,7 @@
|
|||||||
do { \
|
do { \
|
||||||
unsigned int _val = val; \
|
unsigned int _val = val; \
|
||||||
assert ((unsigned int) done < (unsigned int) INT_MAX); \
|
assert ((unsigned int) done < (unsigned int) INT_MAX); \
|
||||||
if (__builtin_expect (INT_MAX - done < _val, 0)) \
|
if (__glibc_unlikely (INT_MAX - done < _val)) \
|
||||||
{ \
|
{ \
|
||||||
done = -1; \
|
done = -1; \
|
||||||
__set_errno (EOVERFLOW); \
|
__set_errno (EOVERFLOW); \
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
if (width > 0) \
|
if (width > 0) \
|
||||||
{ \
|
{ \
|
||||||
unsigned int d = _IO_padn (s, (Padchar), width); \
|
unsigned int d = _IO_padn (s, (Padchar), width); \
|
||||||
if (__builtin_expect (d == EOF, 0)) \
|
if (__glibc_unlikely (d == EOF)) \
|
||||||
{ \
|
{ \
|
||||||
done = -1; \
|
done = -1; \
|
||||||
goto all_done; \
|
goto all_done; \
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
if (width > 0) \
|
if (width > 0) \
|
||||||
{ \
|
{ \
|
||||||
unsigned int d = _IO_wpadn (s, (Padchar), width); \
|
unsigned int d = _IO_wpadn (s, (Padchar), width); \
|
||||||
if (__builtin_expect (d == EOF, 0)) \
|
if (__glibc_unlikely (d == EOF)) \
|
||||||
{ \
|
{ \
|
||||||
done = -1; \
|
done = -1; \
|
||||||
goto all_done; \
|
goto all_done; \
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
done = -1; \
|
done = -1; \
|
||||||
goto all_done; \
|
goto all_done; \
|
||||||
} \
|
} \
|
||||||
if (__builtin_expect (INT_MAX - done < (Len), 0)) \
|
if (__glibc_unlikely (INT_MAX - done < (Len))) \
|
||||||
{ \
|
{ \
|
||||||
done = -1; \
|
done = -1; \
|
||||||
__set_errno (EOVERFLOW); \
|
__set_errno (EOVERFLOW); \
|
||||||
@@ -1108,7 +1108,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
outstring (string, len); \
|
outstring (string, len); \
|
||||||
if (left) \
|
if (left) \
|
||||||
PAD (L' '); \
|
PAD (L' '); \
|
||||||
if (__builtin_expect (string_malloced, 0)) \
|
if (__glibc_unlikely (string_malloced)) \
|
||||||
free (string); \
|
free (string); \
|
||||||
} \
|
} \
|
||||||
break;
|
break;
|
||||||
@@ -1254,7 +1254,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
outstring (string, len); \
|
outstring (string, len); \
|
||||||
if (left) \
|
if (left) \
|
||||||
PAD (' '); \
|
PAD (' '); \
|
||||||
if (__builtin_expect (string_malloced, 0)) \
|
if (__glibc_unlikely (string_malloced)) \
|
||||||
free (string); \
|
free (string); \
|
||||||
} \
|
} \
|
||||||
break;
|
break;
|
||||||
@@ -1315,9 +1315,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
goto all_done;
|
goto all_done;
|
||||||
|
|
||||||
/* Use the slow path in case any printf handler is registered. */
|
/* Use the slow path in case any printf handler is registered. */
|
||||||
if (__builtin_expect (__printf_function_table != NULL
|
if (__glibc_unlikely (__printf_function_table != NULL
|
||||||
|| __printf_modifier_table != NULL
|
|| __printf_modifier_table != NULL
|
||||||
|| __printf_va_arg_table != NULL, 0))
|
|| __printf_va_arg_table != NULL))
|
||||||
goto do_positional;
|
goto do_positional;
|
||||||
|
|
||||||
/* Process whole format string. */
|
/* Process whole format string. */
|
||||||
@@ -1452,7 +1452,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
left = 1;
|
left = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_expect (width >= INT_MAX / sizeof (CHAR_T) - 32, 0))
|
if (__glibc_unlikely (width >= INT_MAX / sizeof (CHAR_T) - 32))
|
||||||
{
|
{
|
||||||
__set_errno (EOVERFLOW);
|
__set_errno (EOVERFLOW);
|
||||||
done = -1;
|
done = -1;
|
||||||
@@ -1484,8 +1484,8 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
LABEL (width):
|
LABEL (width):
|
||||||
width = read_int (&f);
|
width = read_int (&f);
|
||||||
|
|
||||||
if (__builtin_expect (width == -1
|
if (__glibc_unlikely (width == -1
|
||||||
|| width >= INT_MAX / sizeof (CHAR_T) - 32, 0))
|
|| width >= INT_MAX / sizeof (CHAR_T) - 32))
|
||||||
{
|
{
|
||||||
__set_errno (EOVERFLOW);
|
__set_errno (EOVERFLOW);
|
||||||
done = -1;
|
done = -1;
|
||||||
@@ -1561,7 +1561,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
if (prec > width
|
if (prec > width
|
||||||
&& prec > sizeof (work_buffer) / sizeof (work_buffer[0]) - 32)
|
&& prec > sizeof (work_buffer) / sizeof (work_buffer[0]) - 32)
|
||||||
{
|
{
|
||||||
if (__builtin_expect (prec >= INT_MAX / sizeof (CHAR_T) - 32, 0))
|
if (__glibc_unlikely (prec >= INT_MAX / sizeof (CHAR_T) - 32))
|
||||||
{
|
{
|
||||||
__set_errno (EOVERFLOW);
|
__set_errno (EOVERFLOW);
|
||||||
done = -1;
|
done = -1;
|
||||||
@@ -1645,7 +1645,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
/* The format is correctly handled. */
|
/* The format is correctly handled. */
|
||||||
++nspecs_done;
|
++nspecs_done;
|
||||||
|
|
||||||
if (__builtin_expect (workstart != NULL, 0))
|
if (__glibc_unlikely (workstart != NULL))
|
||||||
free (workstart);
|
free (workstart);
|
||||||
workstart = NULL;
|
workstart = NULL;
|
||||||
|
|
||||||
@@ -1691,7 +1691,7 @@ do_positional:
|
|||||||
/* Just a counter. */
|
/* Just a counter. */
|
||||||
size_t cnt;
|
size_t cnt;
|
||||||
|
|
||||||
if (__builtin_expect (workstart != NULL, 0))
|
if (__glibc_unlikely (workstart != NULL))
|
||||||
free (workstart);
|
free (workstart);
|
||||||
workstart = NULL;
|
workstart = NULL;
|
||||||
|
|
||||||
@@ -1737,7 +1737,7 @@ do_positional:
|
|||||||
+ sizeof (*args_type));
|
+ sizeof (*args_type));
|
||||||
|
|
||||||
/* Check for potential integer overflow. */
|
/* Check for potential integer overflow. */
|
||||||
if (__builtin_expect (nargs > INT_MAX / bytes_per_arg, 0))
|
if (__glibc_unlikely (nargs > INT_MAX / bytes_per_arg))
|
||||||
{
|
{
|
||||||
__set_errno (EOVERFLOW);
|
__set_errno (EOVERFLOW);
|
||||||
done = -1;
|
done = -1;
|
||||||
@@ -1842,7 +1842,7 @@ do_positional:
|
|||||||
default:
|
default:
|
||||||
if ((args_type[cnt] & PA_FLAG_PTR) != 0)
|
if ((args_type[cnt] & PA_FLAG_PTR) != 0)
|
||||||
args_value[cnt].pa_pointer = va_arg (ap_save, void *);
|
args_value[cnt].pa_pointer = va_arg (ap_save, void *);
|
||||||
else if (__builtin_expect (__printf_va_arg_table != NULL, 0)
|
else if (__glibc_unlikely (__printf_va_arg_table != NULL)
|
||||||
&& __printf_va_arg_table[args_type[cnt] - PA_LAST] != NULL)
|
&& __printf_va_arg_table[args_type[cnt] - PA_LAST] != NULL)
|
||||||
{
|
{
|
||||||
args_value[cnt].pa_user = alloca (args_size[cnt]);
|
args_value[cnt].pa_user = alloca (args_size[cnt]);
|
||||||
@@ -2027,7 +2027,7 @@ do_positional:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_expect (workstart != NULL, 0))
|
if (__glibc_unlikely (workstart != NULL))
|
||||||
free (workstart);
|
free (workstart);
|
||||||
workstart = NULL;
|
workstart = NULL;
|
||||||
|
|
||||||
@@ -2039,9 +2039,9 @@ do_positional:
|
|||||||
}
|
}
|
||||||
|
|
||||||
all_done:
|
all_done:
|
||||||
if (__builtin_expect (args_malloced != NULL, 0))
|
if (__glibc_unlikely (args_malloced != NULL))
|
||||||
free (args_malloced);
|
free (args_malloced);
|
||||||
if (__builtin_expect (workstart != NULL, 0))
|
if (__glibc_unlikely (workstart != NULL))
|
||||||
free (workstart);
|
free (workstart);
|
||||||
/* Unlock the stream. */
|
/* Unlock the stream. */
|
||||||
_IO_funlockfile (s);
|
_IO_funlockfile (s);
|
||||||
|
Reference in New Issue
Block a user