mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
assert: Mark __assert_fail
as cold
This helps compilers split the codegen for setting up the arguments (`__expression`, `__filename`, etc...) from the potentially hot cold where the `assert` is to a presumably cold region on the assertion failure path. Reviewed-by: Florian Weimer <fweimer@redhat.com> Reviewed-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
89cddc8a70
commit
f6f9047459
@ -66,18 +66,18 @@ __BEGIN_DECLS
|
||||
/* This prints an "Assertion failed" message and aborts. */
|
||||
extern void __assert_fail (const char *__assertion, const char *__file,
|
||||
unsigned int __line, const char *__function)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
__THROW __attribute__ ((__noreturn__)) __COLD;
|
||||
|
||||
/* Likewise, but prints the error text for ERRNUM. */
|
||||
extern void __assert_perror_fail (int __errnum, const char *__file,
|
||||
unsigned int __line, const char *__function)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
__THROW __attribute__ ((__noreturn__)) __COLD;
|
||||
|
||||
|
||||
/* The following is not at all used here but needed for standard
|
||||
compliance. */
|
||||
extern void __assert (const char *__assertion, const char *__file, int __line)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
__THROW __attribute__ ((__noreturn__)) __COLD;
|
||||
|
||||
|
||||
__END_DECLS
|
||||
|
Loading…
Reference in New Issue
Block a user