Mark various cold functions as __COLD

GCC docs explicitly list perror () as a good candidate for using
__attribute__ ((cold)). So apply __COLD to perror () and similar
functions.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230429131223.2507236-3-bugaevc@gmail.com>
This commit is contained in:
Sergey Bugaev 2023-04-29 16:12:23 +03:00 committed by Samuel Thibault
parent be9ad3004f
commit e6a252758c
4 changed files with 11 additions and 11 deletions

View File

@ -5,11 +5,11 @@
void
__error_internal (int status, int errnum, const char *message,
va_list args, unsigned int mode_flags);
va_list args, unsigned int mode_flags) __COLD;
void
__error_at_line_internal (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message,
va_list args, unsigned int mode_flags);
va_list args, unsigned int mode_flags) __COLD;
#endif

View File

@ -859,7 +859,7 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void perror (const char *__s);
extern void perror (const char *__s) __COLD;
#ifdef __USE_POSIX

View File

@ -32,9 +32,9 @@ __BEGIN_DECLS
/* Print "program: ", FORMAT, ": ", the standard error string for errno,
and a newline, on stderr. */
extern void warn (const char *__format, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
__attribute__ ((__format__ (__printf__, 1, 2))) __COLD;
extern void vwarn (const char *__format, __gnuc_va_list)
__attribute__ ((__format__ (__printf__, 1, 0)));
__attribute__ ((__format__ (__printf__, 1, 0))) __COLD;
/* Likewise, but without ": " and the standard error string. */
extern void warnx (const char *__format, ...)
@ -44,13 +44,13 @@ extern void vwarnx (const char *__format, __gnuc_va_list)
/* Likewise, and then exit with STATUS. */
extern void err (int __status, const char *__format, ...)
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD;
extern void verr (int __status, const char *__format, __gnuc_va_list)
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD;
extern void errx (int __status, const char *__format, ...)
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD;
extern void verrx (int __status, const char *, __gnuc_va_list)
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD;
#include <bits/floatn.h>
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1

View File

@ -29,11 +29,11 @@ __BEGIN_DECLS
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int __status, int __errnum, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
__attribute__ ((__format__ (__printf__, 3, 4))) __COLD;
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
__attribute__ ((__format__ (__printf__, 5, 6))) __COLD;
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this